Clear HMD canvas properly;

This commit is contained in:
bjorn 2018-02-18 16:15:12 -08:00
parent de0ab5402c
commit 17c81a3502
3 changed files with 7 additions and 2 deletions

View File

@ -1199,6 +1199,11 @@ void lovrGraphicsPushDisplay(int framebuffer, mat4 projection, int* viewport) {
state.displays[state.display].framebuffer = framebuffer;
memcpy(state.displays[state.display].projection, projection, 16 * sizeof(float));
memcpy(state.displays[state.display].viewport, viewport, 4 * sizeof(int));
if (state.canvasCount == 0) {
lovrGraphicsBindFramebuffer(framebuffer);
lovrGraphicsSetViewport(viewport[0], viewport[1], viewport[2], viewport[3]);
}
}
void lovrGraphicsPopDisplay() {

View File

@ -764,7 +764,7 @@ static void openvrRenderTo(headsetRenderCallback callback, void* userdata) {
lovrGraphicsPushDisplay(state.canvas->texture.id, projection, viewport);
lovrGraphicsPush();
lovrGraphicsMatrixTransform(MATRIX_VIEW, transform);
lovrGraphicsClear(true, true, false, (Color) { 0, 0, 0, 0 }, 1., 0);
lovrGraphicsClear(true, true, false, lovrGraphicsGetBackgroundColor(), 1., 0);
callback(eye, userdata);
lovrGraphicsPop();
lovrGraphicsPopDisplay();

View File

@ -15,7 +15,7 @@ typedef struct {
static HeadsetState state;
static void onRequestAnimationFrame(void* userdata) {
lovrGraphicsClear(true, true, true);
lovrGraphicsClear(true, true, true, lovrGraphicsGetBackgroundColor(), 1., 0);
int width = emscripten_vr_get_display_width();
int height = emscripten_vr_get_display_height();