diff options
author | Omniscient <omniscient.oce@gmail.com> | 2024-06-15 16:38:05 +1000 |
---|---|---|
committer | Omniscient <omniscient.oce@gmail.com> | 2024-06-15 16:38:05 +1000 |
commit | c5808488875484aca814bfc8e526f37f3f447166 (patch) | |
tree | e560bc86302fad0c8520140511e1994c2b4800d7 /assets/shaders/pbr_params.vert | |
parent | 59f67f04d7238453da766218a37b3c78607fb122 (diff) |
shinchoku
Diffstat (limited to 'assets/shaders/pbr_params.vert')
-rw-r--r-- | assets/shaders/pbr_params.vert | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/assets/shaders/pbr_params.vert b/assets/shaders/pbr_params.vert new file mode 100644 index 0000000..0908246 --- /dev/null +++ b/assets/shaders/pbr_params.vert @@ -0,0 +1,26 @@ +#version 410 + +// Vertex attributes +layout(location = 0) in vec3 inPosition; +layout(location = 1) in vec3 inNormal; +layout(location = 2) in vec2 inTexCoords; + +// Uniforms +uniform MVP_Matrices { + mat4 model; // TODO: make model a push constant/raw uniform + mat4 view; + mat4 proj; +} mvp; + +// Outputs +layout(location = 0) out vec3 fragWorldPos; +layout(location = 1) out vec3 fragNormal; +layout(location = 2) out vec2 fragTexCoords; + +void main() { + fragWorldPos = vec3(mvp.model * vec4(inPosition, 1.0)); + // TODO: fragNormal + fragTexCoords = inTexCoords; + + gl_Position = mvp.proj * mvp.view * mvp.model * vec4(inPosition, 1.0); +} |