mirror of https://github.com/bjornbytes/lovr.git
Fix texture submit bounds; Fix layer canvas bug;
This commit is contained in:
parent
4915ca41cc
commit
2cbd565522
|
@ -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]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
Loading…
Reference in New Issue