当前位置: 首页>>代码示例>>C++>>正文


C++ Log::Commit方法代码示例

本文整理汇总了C++中Log::Commit方法的典型用法代码示例。如果您正苦于以下问题:C++ Log::Commit方法的具体用法?C++ Log::Commit怎么用?C++ Log::Commit使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Log的用法示例。


在下文中一共展示了Log::Commit方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: run

//Main loop
void Main::run()
{
	int frames = 0, frameAtBase = 0;
	double baseTime = highResTime();
	while (true)
	{
		if(render && glfwWindowShouldClose(window)) //process close only if rendering
			break;
		if(logging)
			profileLog<<"Frame "<<frames<<endl;
		double time = highResTime();

		if(render)
		{
			glfwPollEvents();

			//Set camera for raycaster
			camera.update();
			rayCaster.setCamera(camera);
		}

		//Simulate one step using OpenCL
		simulation->step();

		if(render)
		{
			//Get image from raycaster, pass it to OpenGL
			rayCaster.shoot();
			g.updateTexture(rayCaster.getTexture());
	 
			// Render the raycasted texture on a quad
			g.renderTexture();
		}


		double delta;
		delta = highResTime() - time; //current time delta
		framesLog<<frames<<" "<<delta<<endl; //frame time log

		/* Limit framerate to targetFPS (turned off, let autotuner handle)
		while(true)
		{
			delta = highResTime() - time;
			double rest = (1.0/targetFPS) - delta;
			if(rest <= 0)
				break;
			usleep(rest / 1000000); //sleep off the rest of the frame
		}
		*/

		//A major change is that of the resolution, in which case
		//the raycaster also needs to know.
		bool changed = tuner.report(delta);
		if(render && changed)
		{
			rayCaster.setN(simulation->getN());
			rayCaster.setVolume(simulation->getOutputVolume());
		}

		//FPS counter - update once a second
		frames++;
		if(time - baseTime > 1)
		{
			cout<<"FPS "<<frames - frameAtBase<<endl;
			if(logging)
			{
				framesLog<<"FPS "<<frames - frameAtBase<<endl;		
				framesLog.Commit();
				profileLog.Commit();
			}
			frameAtBase = frames;
			baseTime = highResTime();
		}
	}
}
开发者ID:lunaroverlord,项目名称:parautofluid,代码行数:76,代码来源:main.cpp


注:本文中的Log::Commit方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。