mirror of https://github.com/bjornbytes/lovr.git
Fix stereo mirror window;
This commit is contained in:
parent
6444aba832
commit
28869431fb
|
@ -7,7 +7,7 @@
|
||||||
#include "shaders/equirect.frag.h"
|
#include "shaders/equirect.frag.h"
|
||||||
#include "shaders/fill.vert.h"
|
#include "shaders/fill.vert.h"
|
||||||
#include "shaders/fill_array.frag.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/animator.comp.h"
|
||||||
#include "shaders/timewizard.comp.h"
|
#include "shaders/timewizard.comp.h"
|
||||||
#include "shaders/logo.frag.h"
|
#include "shaders/logo.frag.h"
|
||||||
|
|
|
@ -8,5 +8,5 @@ layout(set = 1, binding = 1) uniform texture2DArray ArrayTexture;
|
||||||
|
|
||||||
vec4 lovrmain() {
|
vec4 lovrmain() {
|
||||||
vec2 uv = vec2(2 * UV.x, UV.y);
|
vec2 uv = vec2(2 * UV.x, UV.y);
|
||||||
return Color * getPixel(ArrayTexture, uv, round(UV.x));
|
return Color * getPixel(ArrayTexture, uv, 0);
|
||||||
}
|
}
|
|
@ -60,7 +60,7 @@ StringEntry lovrDefaultShader[] = {
|
||||||
[SHADER_EQUIRECT] = ENTRY("equirect"),
|
[SHADER_EQUIRECT] = ENTRY("equirect"),
|
||||||
[SHADER_FILL] = ENTRY("fill"),
|
[SHADER_FILL] = ENTRY("fill"),
|
||||||
[SHADER_FILL_ARRAY] = ENTRY("fillarray"),
|
[SHADER_FILL_ARRAY] = ENTRY("fillarray"),
|
||||||
[SHADER_FILL_STEREO] = ENTRY("fillstereo"),
|
[SHADER_FILL_LAYER] = ENTRY("filllayer"),
|
||||||
[SHADER_LOGO] = ENTRY("logo"),
|
[SHADER_LOGO] = ENTRY("logo"),
|
||||||
{ 0 }
|
{ 0 }
|
||||||
};
|
};
|
||||||
|
|
|
@ -1627,9 +1627,9 @@ ShaderSource lovrGraphicsGetDefaultShaderSource(DefaultShader type, ShaderStage
|
||||||
{ lovr_shader_fill_vert, sizeof(lovr_shader_fill_vert) },
|
{ lovr_shader_fill_vert, sizeof(lovr_shader_fill_vert) },
|
||||||
{ lovr_shader_fill_array_frag, sizeof(lovr_shader_fill_array_frag) }
|
{ 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_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] = {
|
[SHADER_LOGO] = {
|
||||||
{ lovr_shader_unlit_vert, sizeof(lovr_shader_unlit_vert) },
|
{ 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");
|
lovrCheck(texture->info.layers == pass->viewCount, "Texture layer counts must match to fill between them");
|
||||||
shader = SHADER_FILL_ARRAY;
|
shader = SHADER_FILL_ARRAY;
|
||||||
} else if (pass->viewCount == 1 && texture->info.layers > 1) {
|
} 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_LAYER;
|
||||||
shader = SHADER_FILL_STEREO;
|
|
||||||
} else {
|
} else {
|
||||||
lovrUnreachable();
|
lovrUnreachable();
|
||||||
}
|
}
|
||||||
|
|
|
@ -275,7 +275,7 @@ typedef enum {
|
||||||
SHADER_EQUIRECT,
|
SHADER_EQUIRECT,
|
||||||
SHADER_FILL,
|
SHADER_FILL,
|
||||||
SHADER_FILL_ARRAY,
|
SHADER_FILL_ARRAY,
|
||||||
SHADER_FILL_STEREO,
|
SHADER_FILL_LAYER,
|
||||||
SHADER_LOGO,
|
SHADER_LOGO,
|
||||||
DEFAULT_SHADER_COUNT
|
DEFAULT_SHADER_COUNT
|
||||||
} DefaultShader;
|
} DefaultShader;
|
||||||
|
|
Loading…
Reference in New Issue