本文整理汇总了C++中WINDOW::SetKeyReleased方法的典型用法代码示例。如果您正苦于以下问题:C++ WINDOW::SetKeyReleased方法的具体用法?C++ WINDOW::SetKeyReleased怎么用?C++ WINDOW::SetKeyReleased使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WINDOW
的用法示例。
在下文中一共展示了WINDOW::SetKeyReleased方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: UpdateFrame
//Perform per frame updates
void UpdateFrame()
{
window.Update();
camera.Update();
//Change object type
if(window.isKeyPressed(' '))
{
++objectType;
if(objectType==3)
objectType=0;
window.SetKeyReleased(' ');
}
//Change render path
if(window.isKeyPressed('1') && renderPath!=CHROMATIC_SINGLE && pathOneSupported)
{
renderPath=CHROMATIC_SINGLE;
InitChromaticSingleStates();
}
if(window.isKeyPressed('2') && renderPath!=SIMPLE_SINGLE)
{
renderPath=SIMPLE_SINGLE;
InitSimpleSingleStates();
}
if(window.isKeyPressed('3') && renderPath!=CHROMATIC_TWIN)
{
renderPath=CHROMATIC_TWIN;
//Set States every pass, as it is a 2 pass algorithm
}
}
示例2: RenderFrame
//draw a frame
void RenderFrame()
{
//Clear buffers
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity(); //reset modelview matrix
glEnable(GL_LIGHTING);
glTranslatef(0.0f, 0.0f, -30.0f);
glRotatef((float)timer.GetTime()/30, 1.0f, 0.0f, 1.0f);
cubeGrid.DrawSurface(threshold);
glDisable(GL_LIGHTING);
fpsCounter.Update(); //update frames per second counter
glColor4f(0.0f, 0.0f, 1.0f, 1.0f);
window.StartTextMode();
window.Print(0, 28, "FPS: %.2f", fpsCounter.GetFps()); //print the fps
glColor4f(1.0f, 1.0f, 0.0f, 1.0f);
window.Print(0, 48, "Grid Size: %d", gridSize);
window.Print(0, 68, "%d triangles drawn", cubeGrid.numFacesDrawn);
window.EndTextMode();
glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
if(window.isKeyPressed(VK_F1))
{
window.SaveScreenshot();
window.SetKeyReleased(VK_F1);
}
window.SwapBuffers(); //swap buffers
//check for any opengl errors
window.CheckGLError();
//quit if necessary
if(window.isKeyPressed(VK_ESCAPE))
PostQuitMessage(0);
}