diff options
| author | Connor Thomson <blumatrikz@gmail.com> | 2026-09-10 17:07:15 -0700 |
|---|---|---|
| committer | Connor Thomson <blumatrikz@gmail.com> | 2026-09-10 17:07:15 -0700 |
| commit | e9d4cbaa3c44337115d672d2038a7b73745181c8 (patch) | |
| tree | acc15d887e370117f80cc94512af612002ebdbd9 /shaders/obj.vert.slang | |
| parent | da1891aa0a053297e1b17bc34c23c362f9ac0c6b (diff) | |
Update teapot model, add phong shading, & more
Diffstat (limited to 'shaders/obj.vert.slang')
| -rw-r--r-- | shaders/obj.vert.slang | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/shaders/obj.vert.slang b/shaders/obj.vert.slang index 2d45e1d..1884b97 100644 --- a/shaders/obj.vert.slang +++ b/shaders/obj.vert.slang @@ -20,6 +20,8 @@ struct ObjUniforms { float4x4 mvp; float4x4 model; + float3 camera_position; + float padding; }; [[vk::binding(0, 1)]] @@ -31,13 +33,18 @@ struct VSInput { }; struct VSOutput { - float4 position : SV_Position; - float3 normal : TEXCOORD0; + float4 position : SV_Position; + float3 normal : TEXCOORD0; + float3 world_position : TEXCOORD1; + float3 camera_position : TEXCOORD2; }; VSOutput main(VSInput input) { VSOutput output; - output.position = mul(uniforms.mvp, float4(input.position, 1.0)); - output.normal = normalize(mul((float3x3)uniforms.model, input.normal)); + float4 world_position = mul(uniforms.model, float4(input.position, 1.0)); + output.position = mul(uniforms.mvp, float4(input.position, 1.0)); + output.normal = normalize(mul((float3x3)uniforms.model, input.normal)); + output.world_position = world_position.xyz; + output.camera_position = uniforms.camera_position; return output; } |