Fix texture submit bounds; Fix layer canvas bug;

This commit is contained in:
bjorn 2018-03-05 02:42:38 -08:00
parent 4915ca41cc
commit 2cbd565522
2 changed files with 5 additions and 5 deletions

View File

@ -373,7 +373,7 @@ void lovrGraphicsSetCanvas(Canvas** canvas, int count) {
if (count == 0) {
Layer layer = state.layers[state.layer];
int* viewport = layer.viewport;
lovrGraphicsBindFramebuffer(layer.canvas ? layer.canvas->texture.id : 0);
lovrGraphicsBindFramebuffer(layer.canvas ? layer.canvas->framebuffer : 0);
lovrGraphicsSetViewport(viewport[0], viewport[1], viewport[2], viewport[3]);
} else {
memcpy(state.canvas, canvas, count * sizeof(Canvas*));
@ -1102,7 +1102,7 @@ void lovrGraphicsPushLayer(Layer layer) {
if (state.canvasCount == 0) {
int* viewport = layer.viewport;
lovrGraphicsBindFramebuffer(layer.canvas ? layer.canvas->texture.id : 0);
lovrGraphicsBindFramebuffer(layer.canvas ? layer.canvas->framebuffer : 0);
lovrGraphicsSetViewport(viewport[0], viewport[1], viewport[2], viewport[3]);
}
}
@ -1115,7 +1115,7 @@ void lovrGraphicsPopLayer() {
if (state.canvasCount == 0) {
Layer layer = state.layers[state.layer];
int* viewport = layer.viewport;
lovrGraphicsBindFramebuffer(layer.canvas ? layer.canvas->texture.id : 0);
lovrGraphicsBindFramebuffer(layer.canvas ? layer.canvas->framebuffer : 0);
lovrGraphicsSetViewport(viewport[0], viewport[1], viewport[2], viewport[3]);
}
}

View File

@ -716,8 +716,8 @@ static void openvrRenderTo(headsetRenderCallback callback, void* userdata) {
uintptr_t texture = (uintptr_t) state.canvas->texture.id;
EColorSpace colorSpace = lovrGraphicsIsGammaCorrect() ? EColorSpace_ColorSpace_Linear : EColorSpace_ColorSpace_Gamma;
Texture_t eyeTexture = { (void*) texture, ETextureType_TextureType_OpenGL, colorSpace };
VRTextureBounds_t left = { 0, 0, state.renderWidth, state.renderHeight };
VRTextureBounds_t right = { state.renderWidth, 0, state.renderWidth, state.renderHeight };
VRTextureBounds_t left = { 0, 0, .5, 1. };
VRTextureBounds_t right = { .5, 0, 1., 1. };
state.compositor->Submit(EVREye_Eye_Left, &eyeTexture, &left, EVRSubmitFlags_Submit_Default);
state.compositor->Submit(EVREye_Eye_Right, &eyeTexture, &right, EVRSubmitFlags_Submit_Default);