예제 #1
0
//-------------------------------------------------------------------------------------
//	Present
//-------------------------------------------------------------------------------------
void XDKGlDisplay() {	
	if (GLImpl.use_aa) {
		GLImpl.EndTiling();
	} else {
		GLImpl.Swap();
	}
}
예제 #2
0
//-------------------------------------------------------------------------------------
//	Present
//-------------------------------------------------------------------------------------
void XDKGlDisplay() {	
	if (GLImpl.use_aa) {
		GLImpl.EndTiling();
	} else {
		GLImpl.Swap();
	}

	need_end_tiling = 0;
}
예제 #3
0
//-------------------------------------------------------------------------------------
//	Start a frame
//-------------------------------------------------------------------------------------
void XDKGlBeginFrame() {
	// d3dwait
#if USE_VB
	// refresh ib/vb cache
	GLImpl.pVbGL->Lock(0, 8*1024*1024, (void**)&GLImpl.prim.vertices.data, 0);	
	GLImpl.pIbGL->Lock(0, 8*1024*1024, (void**)&GLImpl.prim.indices.data, 0);
#endif
	
	// d3dpresent
	GLImpl.device->SynchronizeToPresentationInterval();

	GLImpl.device->Swap(pFrontBuffer, NULL);

	// reset
	GLImpl.ResetStates();
	GLImpl.ResetMatrixDirty();
	GLImpl.prim.clear();
}
예제 #4
0
extern "C" void XDKQ3BeginFrame() {
	if (GLImpl.use_aa == 0) {
		return;
	}
	if (need_end_tiling) {
		XDKGlDisplay();
	}
	GLImpl.BeginTiling();
	need_end_tiling = 1;
}
예제 #5
0
//-------------------------------------------------------------------------------------
//	Init opengl
//-------------------------------------------------------------------------------------
void XDKGlInit() {
	GLImpl.Init();
}
예제 #6
0
extern "C" void XDKQ3BeginFrame() {
	if (GLImpl.use_aa == 0) {
		return;
	}
	GLImpl.BeginTiling();
}