コード例 #1
0
ファイル: gles_android.cpp プロジェクト: Garfield-Chen/tng
	void GLESRender::Swap(TngWindow* wnd)
	{
		if (__eglDisplay && __eglSurface)
		{
			int rc =eglSwapBuffers(__eglDisplay, __eglSurface);

			if (rc != EGL_TRUE)
			{
				EGLint error = eglGetError();
				if (error == EGL_BAD_NATIVE_WINDOW)
				{
					if (OS::state__->window != NULL)
					{
						destroyEGLSurface();
						Log::GetLog()->Printf(Log::SYS_CHN,"recreate gles surface");
						CreateRenderDevice(wnd);
					}
					else
					{
						Log::GetLog()->Printf(Log::SYS_CHN,"widow is null");
					}
				}
				else
				{
					Log::GetLog()->Printf(Log::SYS_CHN,"other error %d",error);
				}
			}
// 			else
// 			{
// 				Log::GetLog()->Printf(Log::DBG_CHN,"swap");
// 			}
		}

	}
コード例 #2
0
TRenderDevice::TRenderDevice(TRenderWindow* renderwindow):
		RenderWindow(renderwindow),
		RenderTarget(0),
		ViewPort(0),
		RenderSize(0),
		SwapChain(0)
{
	CreateRenderDevice();
}