diff options
Diffstat (limited to 'vk-cube/vk-cube-vs.glsl')
| -rw-r--r-- | vk-cube/vk-cube-vs.glsl | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/vk-cube/vk-cube-vs.glsl b/vk-cube/vk-cube-vs.glsl new file mode 100644 index 0000000..eb51557 --- /dev/null +++ b/vk-cube/vk-cube-vs.glsl @@ -0,0 +1,42 @@ +#version 450 +// ================================================================================================ +// Vertex shader +// +// Build: +// $ glslc -o vk-cube-vs.spv -fshader-stage=vertex vk-cube-vs.glsl +// +// Changelog: +// 5/31/2026: Initial release +// +// License: +// Copyright (c) 2026 Hunter Kvalevog +// +// Permission to use, copy, modify, and/or distribute this software for any +// purpose with or without fee is hereby granted. +// +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +// WITH REGARD TO THIS SOFTWARE. +// ================================================================================================ + +layout (binding = 0) uniform UBO +{ + mat4 mvp; + mat4 model; +}; + +layout (location = 0) in vec3 v_p; +layout (location = 1) in vec3 v_c; +layout (location = 2) in vec3 v_n; + +layout (location = 0) out vec3 f_c; +layout (location = 1) out vec3 f_n; +layout (location = 2) out vec3 f_p; + +void main() +{ + f_c = v_c; + f_n = mat3(model) * v_n; + f_p = (model * vec4(v_p, 1.0f)).xyz; + gl_Position = mvp * vec4(v_p, 1.0f); +} + |