diff options
Diffstat (limited to 'assets/shaders/pbr_textured.vert')
-rw-r--r-- | assets/shaders/pbr_textured.vert | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/assets/shaders/pbr_textured.vert b/assets/shaders/pbr_textured.vert index d0f8fd5..391cef3 100644 --- a/assets/shaders/pbr_textured.vert +++ b/assets/shaders/pbr_textured.vert @@ -5,12 +5,14 @@ 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 +uniform Camera { mat4 view; mat4 proj; -} mvp; +} cam; + +uniform Model { + mat4 inner; +} model; // Outputs layout(location = 0) out vec3 fragWorldPos; @@ -18,9 +20,9 @@ layout(location = 1) out vec3 fragNormal; layout(location = 2) out vec2 fragTexCoords; void main() { - fragWorldPos = vec3(mvp.model * vec4(inPosition, 1.0)); - fragNormal = mat3(transpose(inverse(mvp.model))) * inNormal; // world-space normal + fragWorldPos = vec3(model.inner * vec4(inPosition, 1.0)); + fragNormal = mat3(transpose(inverse(model.inner))) * inNormal; // world-space normal fragTexCoords = inTexCoords; - gl_Position = mvp.proj * mvp.view * mvp.model * vec4(inPosition, 1.0); + gl_Position = cam.proj * cam.view * model.inner * vec4(inPosition, 1.0); } |