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);
}