Fix stereo mirror window;

This commit is contained in:
bjorn 2022-09-15 20:45:26 -07:00
parent 6444aba832
commit 28869431fb
5 changed files with 7 additions and 8 deletions

View File

@ -7,7 +7,7 @@
#include "shaders/equirect.frag.h"
#include "shaders/fill.vert.h"
#include "shaders/fill_array.frag.h"
#include "shaders/fill_stereo.frag.h"
#include "shaders/fill_layer.frag.h"
#include "shaders/animator.comp.h"
#include "shaders/timewizard.comp.h"
#include "shaders/logo.frag.h"

View File

@ -8,5 +8,5 @@ layout(set = 1, binding = 1) uniform texture2DArray ArrayTexture;
vec4 lovrmain() {
vec2 uv = vec2(2 * UV.x, UV.y);
return Color * getPixel(ArrayTexture, uv, round(UV.x));
return Color * getPixel(ArrayTexture, uv, 0);
}

View File

@ -60,7 +60,7 @@ StringEntry lovrDefaultShader[] = {
[SHADER_EQUIRECT] = ENTRY("equirect"),
[SHADER_FILL] = ENTRY("fill"),
[SHADER_FILL_ARRAY] = ENTRY("fillarray"),
[SHADER_FILL_STEREO] = ENTRY("fillstereo"),
[SHADER_FILL_LAYER] = ENTRY("filllayer"),
[SHADER_LOGO] = ENTRY("logo"),
{ 0 }
};

View File

@ -1627,9 +1627,9 @@ ShaderSource lovrGraphicsGetDefaultShaderSource(DefaultShader type, ShaderStage
{ lovr_shader_fill_vert, sizeof(lovr_shader_fill_vert) },
{ lovr_shader_fill_array_frag, sizeof(lovr_shader_fill_array_frag) }
},
[SHADER_FILL_STEREO] = {
[SHADER_FILL_LAYER] = {
{ lovr_shader_fill_vert, sizeof(lovr_shader_fill_vert) },
{ lovr_shader_fill_stereo_frag, sizeof(lovr_shader_fill_stereo_frag) }
{ lovr_shader_fill_layer_frag, sizeof(lovr_shader_fill_layer_frag) }
},
[SHADER_LOGO] = {
{ lovr_shader_unlit_vert, sizeof(lovr_shader_unlit_vert) },
@ -5026,8 +5026,7 @@ void lovrPassFill(Pass* pass, Texture* texture) {
lovrCheck(texture->info.layers == pass->viewCount, "Texture layer counts must match to fill between them");
shader = SHADER_FILL_ARRAY;
} else if (pass->viewCount == 1 && texture->info.layers > 1) {
lovrCheck(texture->info.layers == 2, "To draw an array texture to a mono texture, it must have 2 layers");
shader = SHADER_FILL_STEREO;
shader = SHADER_FILL_LAYER;
} else {
lovrUnreachable();
}

View File

@ -275,7 +275,7 @@ typedef enum {
SHADER_EQUIRECT,
SHADER_FILL,
SHADER_FILL_ARRAY,
SHADER_FILL_STEREO,
SHADER_FILL_LAYER,
SHADER_LOGO,
DEFAULT_SHADER_COUNT
} DefaultShader;