From 5b77d42fa09aacdd5e25775cca046eaef2d4ef29 Mon Sep 17 00:00:00 2001 From: bjorn Date: Mon, 18 Dec 2017 15:54:00 -0800 Subject: [PATCH] Use proper number of MSAA samples for headset canvas; --- src/headset/openvr.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/headset/openvr.c b/src/headset/openvr.c index f8e8cf9f..b7b3cc18 100644 --- a/src/headset/openvr.c +++ b/src/headset/openvr.c @@ -721,15 +721,19 @@ static ModelData* openvrControllerNewModelData(Controller* controller) { static void openvrRenderTo(headsetRenderCallback callback, void* userdata) { if (!state.isInitialized) return; + lovrGraphicsPushView(); + if (!state.canvas) { + glBindFramebuffer(0); + int msaa = 0; + glGetIntegerv(GL_SAMPLES, &msaa); state.system->GetRecommendedRenderTargetSize(&state.renderWidth, &state.renderHeight); - state.canvas = lovrCanvasCreate(state.renderWidth, state.renderHeight, FORMAT_RGB, CANVAS_3D, 4, true, false); + state.canvas = lovrCanvasCreate(state.renderWidth, state.renderHeight, FORMAT_RGB, CANVAS_3D, msaa, true, false); } float head[16], transform[16], projection[16]; float (*matrix)[4]; - lovrGraphicsPushView(); state.isRendering = true; state.compositor->WaitGetPoses(state.renderPoses, 16, NULL, 0);