www.pudn.com > WaveSimulation.rar > Input.cpp


// Input.cpp: implementation of the CInput class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#include "stdafx.h" 
#include "Input.h" 
 
////////////////////////////////////////////////////////////////////// 
// Construction/Destruction 
////////////////////////////////////////////////////////////////////// 
 
CInput::CInput() 
{ 
	memset(m_keys,0,sizeof(bool) * 256); 
} 
 
CInput::~CInput() 
{ 
 
} 
 
void CInput::ProcessKeys() 
{ 
	//控制多边形填充模式 
	if(m_keys['F']) 
    { 
		m_keys['F']=false; 
		g_bPolygonMode = !g_bPolygonMode; 
	} 
	//控制灯光 
	if(m_keys['L']) 
    { 
		m_keys['L']=false; 
		g_bLighting = !g_bLighting; 
	} 
	if(m_keys['T']) 
	{ 
		m_keys['T']=false; 
		g_bTexture = !g_bTexture; 
	} 
	if(m_keys['G']) 
	{ 
		m_keys['G']=false; 
		g_bFog = !g_bFog; 
	} 
 
	 
} 
 
void CInput::SetGLState() 
{ 
	if(g_bPolygonMode) 
		glPolygonMode(GL_FRONT_AND_BACK,GL_FILL); 
	else 
		glPolygonMode(GL_FRONT_AND_BACK,GL_LINE); 
 
	if(g_bLighting) 
	{ 
		glEnable(GL_LIGHTING); 
		glEnable(GL_LIGHT0); 
	} 
	else 
		glDisable(GL_LIGHTING); 
 
	if(g_bTexture) 
		glEnable(GL_TEXTURE_2D); 
	else 
		glDisable(GL_TEXTURE_2D); 
 
}