summary refs log tree commit diff
path: root/shaders
diff options
context:
space:
mode:
Diffstat (limited to 'shaders')
-rw-r--r--shaders/shader.vert19
1 files changed, 11 insertions, 8 deletions
diff --git a/shaders/shader.vert b/shaders/shader.vert
index c07575a..009b38f 100644
--- a/shaders/shader.vert
+++ b/shaders/shader.vert
@@ -6,12 +6,15 @@ struct Transformation {
 };
 
 layout(binding = 0) uniform UniformBlock {
-   vec3 scale;
-   Transformation model;
-   Transformation view;
-   mat4 projection;
+  Transformation view;
+  mat4 projection;
 } uniform_block;
 
+layout(push_constant) uniform PushBlock {
+  vec3 scale;
+  Transformation model;
+} push_block;
+
 layout(location = 0) in vec3 inPosition;
 layout(location = 1) in vec3 inColor;
 layout(location = 2) in vec2 inTextureCoordinate;
@@ -74,10 +77,10 @@ vec3 transform(vec3 a, Transformation transformation) {
 
 
 vec4 apply_all_transforms(vec3 position) {
-  vec3 scaled = vec3(position.x * uniform_block.scale.x,
-                     position.y * uniform_block.scale.y,
-                     position.z * uniform_block.scale.z);
-  vec3 model = transform(scaled, uniform_block.model);
+  vec3 scaled = vec3(position.x * push_block.scale.x,
+                     position.y * push_block.scale.y,
+                     position.z * push_block.scale.z);
+  vec3 model = transform(scaled, push_block.model);
   vec3 view = transform(model, uniform_block.view);
   vec4 projected = vec4(view, 1.0) * uniform_block.projection;
   return projected;