Exemple #1
0
bool DrawGLScene(GLvoid)								// Here's Where We Do All The Drawing
{	if (bumps) {
		if (useMultitexture && maxTexelUnits>1)
			return doMesh2TexelUnits();	
		else return doMesh1TexelUnits();	
	}
	else return doMeshNoBumps();
}
Exemple #2
0
void Sample_22::draw()
{
	if (m_bumps) {
		if (m_useMultitexture && m_maxTexelUnits>1)
			doMesh2TexelUnits();
		else doMesh1TexelUnits();
	}
	else doMeshNoBumps();

	m_xrot+=0.3f;                             // X Axis Rotation
	m_yrot+=0.2f;                             // Y Axis Rotation
	m_zrot+=0.4f;                             // Z Axis Rotation
}
GLvoid NEHE22::DrawGLScene(){
	
	if (bumps) {
        if (useMultitexture && maxTexelUnits>1){
            doMesh2TexelUnits();
		}
        else{
			doMesh1TexelUnits();
		}
	}
	
    else{
		doMeshNoBumps();
	}
	
	//draw FPS text
	GLint matrixMode;
	GLboolean lightingOn;
	lightingOn= glIsEnabled(GL_LIGHTING);        /* lighting on? */
	if (lightingOn) glDisable(GL_LIGHTING);
	glGetIntegerv(GL_MATRIX_MODE, &matrixMode);  /* matrix mode? */
	glDisable(GL_TEXTURE_2D);
	glDisable(GL_DEPTH_TEST);
	glMatrixMode(GL_PROJECTION);
	glPushMatrix();
	glLoadIdentity();
	glMatrixMode(GL_MODELVIEW);
	glPushMatrix();
	glLoadIdentity();
	glPushAttrib(GL_COLOR_BUFFER_BIT);       /* save current colour */
	
	glTranslatef(0.0f,0.0f,-1.0f);
	glColor3f(0.8f,0.8f,0.8f);//set text color
	computeFPS();
	Utils::drawText(-0.98f,-0.98f, GLUT_BITMAP_HELVETICA_12, FPSstr);
	
	glPopAttrib();
	glPopMatrix();
	glMatrixMode(GL_PROJECTION);
	glPopMatrix();
	glMatrixMode(matrixMode);
	if (lightingOn) glEnable(GL_LIGHTING);
	glEnable(GL_TEXTURE_2D);							// Enable Texture Mapping
	glEnable(GL_DEPTH_TEST);
	
	
	glutSwapBuffers();
	
	// handle keyboard input
	if (keys['e']){
		keys['e']=false;
		emboss=!emboss;
	}
	if (keys['m']){
		keys['m']=false;
		useMultitexture=((!useMultitexture) && multitextureSupported);
	}
	if (keys['b']){
		keys['b']=false;
		bumps=!bumps;
	}
	
	if (keys['f']){
		keys['f']=false;
		filter++;
		filter%=3;
	}
	if(specialKeys[GLUT_KEY_PAGE_UP]){
		z-=0.02f;
	}
	if(specialKeys[GLUT_KEY_PAGE_DOWN]){
		z+=0.02f;
	}
	
	if (specialKeys[GLUT_KEY_UP]){
		xspeed-=0.01f;
	}
	if (specialKeys[GLUT_KEY_DOWN]){
		xspeed+=0.01f;
	}
	if (specialKeys[GLUT_KEY_RIGHT]){
		yspeed+=0.01f;
	}
	if (specialKeys[GLUT_KEY_LEFT]){
		yspeed-=0.01f;
	}
	
}