[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Moss-devel] CVS: moss/3Dsia/client/3Dcf/src Makefile.am,NONE,1.1 World.
From: |
Felix Morgner <address@hidden> |
Subject: |
[Moss-devel] CVS: moss/3Dsia/client/3Dcf/src Makefile.am,NONE,1.1 World.cxx,NONE,1.1 main.cxx,NONE,1.1 |
Date: |
Sun, 03 Nov 2002 08:08:50 -0500 |
Update of /cvsroot/moss//moss/3Dsia/client/3Dcf/src
In directory subversions:/tmp/cvs-serv11069/3Dsia/client/3Dcf/src
Added Files:
Makefile.am World.cxx main.cxx
Log Message:
Added 3Dsia-client "felix" for world exploration
--- NEW FILE ---
bin_PROGRAMS = 3df.client
3df_client_SOURCES = main.cxx World.cxx
df_client_LIBFLAGS = -lstdc++ -lglut -lGL -lGLU
CFLAGS=-D_REENTRANT
CXXFLAGS = -Wall -g -O2 $(df_client_LIBFLAGS)
INCLUDES=-I../include
--- NEW FILE ---
#include "World.h"
#include <iostream>
using namespace std;
CWorld::CWorld(int nParams, char* aszParams[])
{
m_dXrot = .0;
m_dYrot = .0;
m_dZrot = .0;
glutInit(&nParams, aszParams);
glutInitDisplayMode(GLUT_RGBA | GLUT_ALPHA | GLUT_DOUBLE | GLUT_DEPTH);
glutInitWindowSize(800, 600);
glutInitWindowPosition(0, 0);
m_nWindow = glutCreateWindow("3df.client");
}
CWorld::~CWorld()
{
}
void CWorld::InitGL(int nWidth, int nHeight)
{
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
glClearDepth(1.0);
glDepthFunc(GL_LEQUAL);
glEnable(GL_DEPTH_TEST);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glShadeModel(GL_SMOOTH);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0f,(GLfloat)nWidth/(GLfloat)nHeight,0.1f,100.0f);
gluLookAt(0,0,6,0,0,0,0,1,0);
glMatrixMode(GL_MODELVIEW);
} // void CWorld::InitGL(int nWidth, int nHeight)
void CWorld::ReSizeGLScene(int nWidth, int nHeight)
{
if( nHeight==0 )
{
nHeight=1;
} // if( nHeight==0)
glViewport(0, 0, nWidth, nHeight);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0f,(GLfloat)nWidth/(GLfloat)nHeight,0.1f,100.0f);
glMatrixMode(GL_MODELVIEW);
} // void CWorld::ReSizeGLScene(int nWidht, int nHeight)
void CWorld::DrawGLScene()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glPushMatrix();
glTranslatef(0.0, 0.0, 0.0);
glRotatef(m_dXrot,1.0,0.0,0.0);
glRotatef(m_dYrot,0.0,1.0,0.0);
glRotatef(m_dZrot,0.0,0.0,1.0);
glBegin(GL_QUADS);
glColor4f(0.0f, 1.0f, 0.0f, 0.75f);
glVertex3f( 1.0f , 1.0f, -1.0f);
glVertex3f(-1.0f , 1.0f, -1.0f);
glVertex3f(-1.0f , 1.0f, 1.0f);
glVertex3f( 1.0f , 1.0f, 1.0f);
glColor3f(1.0f, 0.5f, 0.0f);
glVertex3f( 1.0f, -1.0f, 1.0f);
glVertex3f(-1.0f, -1.0f, 1.0f);
glVertex3f(-1.0f, -1.0f, -1.0f);
glVertex3f( 1.0f, -1.0f, -1.0f);
glColor3f(1.0f, 0.0f, 1.0f);
glVertex3f( 1.0f, -1.0f, -1.0f);
glVertex3f(-1.0f, -1.0f, -1.0f);
glVertex3f(-1.0f, 1.0f, -1.0f);
glVertex3f( 1.0f, 1.0f, -1.0f);
glColor3f(1.0f, 1.0f, 0.0f);
glVertex3f( 1.0f, -1.0f, 1.0f);
glVertex3f(-1.0f, -1.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, 1.0f);
glVertex3f( 1.0f, 1.0f, 1.0f);
glColor3f(0.0f, 0.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, 1.0f);
glVertex3f(-1.0f, 1.0f,-1.0f);
glVertex3f(-1.0f, -1.0f,-1.0f);
glVertex3f(-1.0f, -1.0f, 1.0f);
glColor3f(0.0f, 0.5f, 1.0f);
glVertex3f( 1.0f, 1.0f, 1.0f);
glVertex3f( 1.0f, 1.0f,-1.0f);
glVertex3f( 1.0f, -1.0f,-1.0f);
glVertex3f( 1.0f, -1.0f, 1.0f);
glEnd();
glPopMatrix();
glutSwapBuffers();
} // void CWorld::DrawGLScene()
void CWorld::KeyPressed(unsigned char key, int x, int y)
{
// cout << "<" << (int)key << ">" << endl;
switch (key)
{
case 27:
glutDestroyWindow(m_nWindow);
exit(0);
break;
case 'x': m_dXrot += .8; break;
case 'X': m_dXrot -= .8; break;
case 'y': m_dYrot += .8; break;
case 'Y': m_dYrot -= .8; break;
case 'z': m_dZrot += .8; break;
case 'Z': m_dZrot -= .8; break;
}
}// void CWorld::KeyPressed(unsigned char key, int x, int y)
--- NEW FILE ---
/*
* main.cxx
* ---------
*
* MAIN
*
*
* (c) 2002 Felix Morgner
*
*/
#include "World.h"
#include <unistd.h>
using namespace std;
CWorld* g_poWorld = 0;
void DrawScene()
{
g_poWorld->DrawGLScene();
}
void Idle()
{
usleep(100);
g_poWorld->DrawGLScene();
}
void KeyPressed(unsigned char key, int x, int y)
{
g_poWorld->KeyPressed(key, x, y);
}
int main(int nParams, char* aszParams[])
{
g_poWorld = new CWorld(nParams, aszParams);
glutDisplayFunc(DrawScene);
glutFullScreen();
glutIdleFunc(Idle);
glutKeyboardFunc(KeyPressed);
g_poWorld->InitGL(800, 600);
glutMainLoop();
delete g_poWorld;
} // int main(int nParams, char* aszParams[])
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Moss-devel] CVS: moss/3Dsia/client/3Dcf/src Makefile.am,NONE,1.1 World.cxx,NONE,1.1 main.cxx,NONE,1.1,
Felix Morgner <address@hidden> <=
- Prev by Date:
[Moss-devel] CVS: moss/3Dsia/client/3Dcf/include KeyboardMsg.h,NONE,1.1 World.h,NONE,1.1
- Next by Date:
[Moss-devel] CVS: moss/3Dsia/client/3Dcf AUTHORS,NONE,1.1 COPYING,NONE,1.1 ChangeLog,NONE,1.1 Makefile.am,NONE,1.1 NEWS,NONE,1.1 OS,NONE,1.1 README,NONE,1.1 TODO,NONE,1.1 autogen.sh,NONE,1.1 configure.in,NONE,1.1
- Previous by thread:
[Moss-devel] CVS: moss/3Dsia/client/3Dcf/include KeyboardMsg.h,NONE,1.1 World.h,NONE,1.1
- Next by thread:
[Moss-devel] CVS: moss/3Dsia/client/3Dcf AUTHORS,NONE,1.1 COPYING,NONE,1.1 ChangeLog,NONE,1.1 Makefile.am,NONE,1.1 NEWS,NONE,1.1 OS,NONE,1.1 README,NONE,1.1 TODO,NONE,1.1 autogen.sh,NONE,1.1 configure.in,NONE,1.1
- Index(es):