本文整理汇总了C++中renderer::tick方法的典型用法代码示例。如果您正苦于以下问题:C++ renderer::tick方法的具体用法?C++ renderer::tick怎么用?C++ renderer::tick使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类renderer
的用法示例。
在下文中一共展示了renderer::tick方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: update
void update()
{
float dt = getDT() * simConfig.timeRate;
//rough fps handling
frame++;
t4 = std::chrono::high_resolution_clock::now();
int ret = std::chrono::duration_cast< std::chrono::duration<float> >(t4-t3).count();
//if we're paused, throw out dt
if(recentlyPaused)
dt = 0;
//tick the entity manager
simEntities.tick(dt);
if(ret >= 1)
{
simConfig.lastFPS = frame;
frame = 0;
t3 = std::chrono::high_resolution_clock::now();
//TICK THAT SEXY RENDERER SO IT REBUILDS THE DYNAMIC INTERFACE
simRenderer.tick();
}
simConfig.tick(dt);
//perform spam key options here
keyboard();
//lower the key spam counts
double rate = 0.05;
if(consecutivePresses[0]>0)
consecutivePresses[0]-=rate;
if(consecutivePresses[1]>0)
consecutivePresses[1]-=rate;
if(consecutivePresses[2]>0)
consecutivePresses[2]-=rate;
if(consecutivePresses[3]>0)
consecutivePresses[3]-=rate;
if(consecutivePresses[4]>0)
consecutivePresses[4]-=rate;
if(consecutivePresses[5]>0)
consecutivePresses[5]-=rate;
if(consecutivePresses[6]>0)
consecutivePresses[6]-=rate;
if(consecutivePresses[7]>0)
consecutivePresses[7]-=rate;
//cap how fast it may get
double cap = 0.1;
if(consecutivePresses[0]>cap)
consecutivePresses[0]=cap;
if(consecutivePresses[1]>cap)
consecutivePresses[1]=cap;
if(consecutivePresses[2]>cap)
consecutivePresses[2]=cap;
if(consecutivePresses[3]>cap)
consecutivePresses[3]=cap;
if(consecutivePresses[4]>cap)
consecutivePresses[4]=cap;
if(consecutivePresses[5]>cap)
consecutivePresses[5]=cap;
if(consecutivePresses[6]>cap)
consecutivePresses[6]=cap;
if(consecutivePresses[7]>cap)
consecutivePresses[7]=cap;
// Update the state of the scene
glutPostRedisplay();//call the display callback
}