diff options
author | Frederico Linhares <fred@linhares.blue> | 2023-01-06 17:30:12 -0300 |
---|---|---|
committer | Frederico Linhares <fred@linhares.blue> | 2023-01-06 17:30:12 -0300 |
commit | 62367a0bcca75c45eb3e7d1582c4fff18827ddc7 (patch) | |
tree | 0ac14c45bd0236104034d47401edc407ec94c94a /glsl/shader_2d_wired.vert.glsl | |
parent | b0b61c117c6e2bc7693802f005a2888e7cc073c2 (diff) |
refa Use Push constants for sprites and rectangles
Diffstat (limited to 'glsl/shader_2d_wired.vert.glsl')
-rw-r--r-- | glsl/shader_2d_wired.vert.glsl | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/glsl/shader_2d_wired.vert.glsl b/glsl/shader_2d_wired.vert.glsl index 28cc55f..0e9258e 100644 --- a/glsl/shader_2d_wired.vert.glsl +++ b/glsl/shader_2d_wired.vert.glsl @@ -17,39 +17,34 @@ #version 450 #extension GL_ARB_separate_shader_objects : enable -layout(location = 0) out int out_instance_index; - layout(set = 0, binding = 0) uniform UBOView2D { mat4 proj; } ubo_view; -layout(set = 1, binding = 0) uniform UBORectangles +layout(push_constant) uniform PCRectangle { - vec4 positions[128]; -} ubo_sprite_positions; + vec4 position; +} sprite; void main() { vec2 coordinate; - vec4 position = ubo_sprite_positions.positions[gl_InstanceIndex]; - - out_instance_index = gl_InstanceIndex; switch(gl_VertexIndex) { case 0: - coordinate = vec2(position.x, position.y); + coordinate = vec2(sprite.position.x, sprite.position.y); break; case 1: - coordinate = vec2(position.x, position.w); + coordinate = vec2(sprite.position.x, sprite.position.w); break; case 2: - coordinate = vec2(position.z, position.y); + coordinate = vec2(sprite.position.z, sprite.position.y); break; case 3: - coordinate = vec2(position.z, position.w); + coordinate = vec2(sprite.position.z, sprite.position.w); break; } gl_Position = ubo_view.proj * vec4(coordinate, 0.0, 1.0); |