Пример #1
0
void MsgLoop(){
	MSG msg = { 0 };
	int done = 0;
	DWORD lastTime = GetTickCount();

	while (!done)
	{
		int gotMsg = (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE) != 0);
		DWORD curTime = GetTickCount();
		float deltaTime = (float)(curTime - lastTime) / 1000.0f;
		lastTime = curTime;

		if (gotMsg)
		{
			if (msg.message == WM_QUIT)
			{
				done = 1;

				AppFree();
			}
			else
			{
				TranslateMessage(&msg);
				DispatchMessage(&msg);
			}
		}
		else
		{
			AppUpdate();
			AppRender();
		}
	}
}
Пример #2
0
void CallAppRender( bool bInvalidRect )
{
	static DWORD lastTime = 0;
	static POINT lastMousePos = {0xFFFF, 0xFFFF};

	// Sample time and mouse position and tell the app to render.
	DWORD curTime = GetTickCount();
	float frametime = (curTime - lastTime) / 1000.0f;
	if( frametime > 0.1f )
		frametime = 0.1f;

	lastTime = curTime;

	// Get the cursor delta.
	POINT curMousePos;
	GetCursorPos(&curMousePos);

	int deltaX, deltaY;
	
	if( lastMousePos.x == 0xFFFF )
	{
		deltaX = deltaY = 0;
	}
	else
	{
		deltaX = curMousePos.x - lastMousePos.x;
		deltaY = curMousePos.y - lastMousePos.y;
	}

	// Recenter the cursor.
	if( g_nCapture )
	{
		lastMousePos = GetWindowCenter();
		SetCursorPos( lastMousePos.x, lastMousePos.y );
	}
	else
	{
		lastMousePos = curMousePos;
	}
	
	AppRender( frametime, (float)deltaX, (float)deltaY, bInvalidRect );
}
Пример #3
0
	JNIEXPORT void JNICALL Java_com_rtsoft_rt3dapp_AppRenderer_nativeRender( JNIEnv*  env )
	{
		AppRender(env);
	}
Пример #4
0
	JNIEXPORT void JNICALL Java_${PACKAGE_NAME_WITH_UNDERSCORES}_AppRenderer_nativeRender( JNIEnv*  env )
	{
		AppRender(env);
	}