summaryrefslogtreecommitdiff
path: root/servers/visual/rasterizer/shaders
diff options
context:
space:
mode:
Diffstat (limited to 'servers/visual/rasterizer/shaders')
-rw-r--r--servers/visual/rasterizer/shaders/canvas.glsl11
-rw-r--r--servers/visual/rasterizer/shaders/canvas_uniforms_inc.glsl14
2 files changed, 10 insertions, 15 deletions
diff --git a/servers/visual/rasterizer/shaders/canvas.glsl b/servers/visual/rasterizer/shaders/canvas.glsl
index 50782f99b0..734974ba81 100644
--- a/servers/visual/rasterizer/shaders/canvas.glsl
+++ b/servers/visual/rasterizer/shaders/canvas.glsl
@@ -59,20 +59,11 @@ void main() {
vertex = draw_data.points[1];
uv = draw_data.uvs[1];
color = vec4(unpackHalf2x16(draw_data.colors[2]),unpackHalf2x16(draw_data.colors[3]));
- } else if (gl_VertexIndex==2) {
+ } else {
vertex = draw_data.points[2];
uv = draw_data.uvs[2];
color = vec4(unpackHalf2x16(draw_data.colors[4]),unpackHalf2x16(draw_data.colors[5]));
-
- } else {
- vertex = draw_data.points[3];
- uv = draw_data.uvs[3];
- color = vec4(unpackHalf2x16(draw_data.colors[6]),unpackHalf2x16(draw_data.colors[7]));
}
-// this does not
-// vec2 vertex = draw_data.points[gl_VertexIndex];
-// vec2 uv = draw_data.uvs[gl_VertexIndex];
-// vec4 color = vec4(unpackHalf2x16(draw_data.colors[gl_VertexIndex*2+0]),unpackHalf2x16(draw_data.colors[gl_VertexIndex*2+1]));
uvec4 bone_indices = uvec4(0,0,0,0);
vec4 bone_weights = vec4(0,0,0,0);
diff --git a/servers/visual/rasterizer/shaders/canvas_uniforms_inc.glsl b/servers/visual/rasterizer/shaders/canvas_uniforms_inc.glsl
index e0f9e202ae..e205170292 100644
--- a/servers/visual/rasterizer/shaders/canvas_uniforms_inc.glsl
+++ b/servers/visual/rasterizer/shaders/canvas_uniforms_inc.glsl
@@ -21,6 +21,8 @@
#define FLAGS_NINEPATCH_H_MODE_SHIFT 16
#define FLAGS_NINEPATCH_V_MODE_SHIFT 18
+#define FLAGS_LIGHT_COUNT_SHIFT 20
+
layout(push_constant, binding = 0, std430) uniform DrawData {
vec2 world_x;
vec2 world_y;
@@ -28,17 +30,19 @@ layout(push_constant, binding = 0, std430) uniform DrawData {
uint flags;
uint specular_shininess;
#ifdef USE_PRIMITIVE
- vec2 points[4];
- uint colors[8];
- vec2 uvs[4];
+ vec2 points[3];
+ vec2 uvs[3];
+ uint colors[6];
#else
vec4 modulation;
vec4 ninepatch_margins;
vec4 dst_rect; //for built-in rect and UV
vec4 src_rect;
- vec2 color_texture_pixel_size;
- uint pad[6];
+ vec2 pad;
+
#endif
+ vec2 color_texture_pixel_size;
+ uint lights[4];
} draw_data;