Properly positioned frame begin/end code.

This commit is contained in:
Rinnegatamante
2020-10-25 01:27:22 +02:00
parent 6a495fc939
commit ea24a9566e
+14 -10
View File
@@ -1100,7 +1100,12 @@ beginUpdate(Camera *cam)
} }
setFrameBuffer(cam); setFrameBuffer(cam);
vglStartRendering();
gVertexBufferIm2D = gVertexBufferIm2DPtr;
gVertexBufferIm3D = gVertexBufferIm3DPtr;
gIndicesIm2D = gIndicesIm2DPtr;
gIndicesIm3D = gIndicesIm3DPtr;
int w, h; int w, h;
if(cam->frameBuffer->type == Raster::CAMERA){ if(cam->frameBuffer->type == Raster::CAMERA){
#ifdef LIBRW_SDL2 #ifdef LIBRW_SDL2
@@ -1121,6 +1126,13 @@ beginUpdate(Camera *cam)
} }
} }
static
void
endUpdate(Camera *cam)
{
vglStopRendering();
}
void log2file(const char *format, ...) { void log2file(const char *format, ...) {
__gnuc_va_list arg; __gnuc_va_list arg;
int done; int done;
@@ -1143,8 +1155,6 @@ clearCamera(Camera *cam, RGBA *col, uint32 mode)
RGBAf colf; RGBAf colf;
int mask; int mask;
setFrameBuffer(cam);
convColor(&colf, col); convColor(&colf, col);
glClearColor(colf.red, colf.green, colf.blue, colf.alpha); glClearColor(colf.red, colf.green, colf.blue, colf.alpha);
mask = 0; mask = 0;
@@ -1168,12 +1178,6 @@ showRaster(Raster *raster, uint32 flags)
vglWaitVblankStart(GL_TRUE); vglWaitVblankStart(GL_TRUE);
else else
vglWaitVblankStart(GL_FALSE); vglWaitVblankStart(GL_FALSE);
vglStopRendering();
vglStartRendering();
gVertexBufferIm2D = gVertexBufferIm2DPtr;
gVertexBufferIm3D = gVertexBufferIm3DPtr;
gIndicesIm2D = gIndicesIm2DPtr;
gIndicesIm3D = gIndicesIm3DPtr;
#endif #endif
//log2file("showRaster called"); //log2file("showRaster called");
@@ -1570,7 +1574,7 @@ deviceSystemGLFW(DeviceReq req, void *arg, int32 n)
Device renderdevice = { Device renderdevice = {
-1.0f, 1.0f, -1.0f, 1.0f,
gl3::beginUpdate, gl3::beginUpdate,
null::endUpdate, gl3::endUpdate,
gl3::clearCamera, gl3::clearCamera,
gl3::showRaster, gl3::showRaster,
gl3::rasterRenderFast, gl3::rasterRenderFast,