Apply ab38f8b1's changes to offscreen HLSL shaders

This commit is contained in:
Ben Clayton 2020-05-21 15:01:41 +01:00
parent 8cacf0b4e9
commit 7b12f89deb
3 changed files with 6 additions and 4 deletions

View file

@ -49,7 +49,7 @@ Shaders written to mirror the GLSL versions at `eddd724`. There have been change
| nv_ray_tracing_reflections | ☑ | ☑ | ☑ | ☑ | nv_ray_tracing_reflections | ☑ | ☑ | ☑ | ☑
| nv_ray_tracing_shadows | ☑ | ☑ | ☑ | ☑ | nv_ray_tracing_shadows | ☑ | ☑ | ☑ | ☑
| occlusionquery | ☑ | ☑ | ☑ | ☑ | occlusionquery | ☑ | ☑ | ☑ | ☑
| offscreen | ☑ | ☑ | ☑ | ❌ | offscreen | ☑ | ☑ | ☑ | ☑
| parallaxmapping | ☑ | ☑ | ☑ | ☑ | parallaxmapping | ☑ | ☑ | ☑ | ☑
| particlefire | ☑ | ☑ | ☑ | ☑ | particlefire | ☑ | ☑ | ☑ | ☑
| pbrbasic | ☑ | ☑ | ☑ | ☑ | pbrbasic | ☑ | ☑ | ☑ | ☑

View file

@ -9,6 +9,7 @@ struct VSInput
struct UBO struct UBO
{ {
float4x4 projection; float4x4 projection;
float4x4 view;
float4x4 model; float4x4 model;
}; };
@ -25,7 +26,7 @@ VSOutput main(VSInput input)
{ {
VSOutput output = (VSOutput)0; VSOutput output = (VSOutput)0;
output.UV = input.UV; output.UV = input.UV;
output.ProjCoord = mul(ubo.projection, mul(ubo.model, float4(input.Pos.xyz, 1.0))); output.ProjCoord = mul(ubo.projection, mul(ubo.view, mul(ubo.model, float4(input.Pos.xyz, 1.0))));
output.Pos = output.ProjCoord; output.Pos = output.ProjCoord;
return output; return output;
} }

View file

@ -10,6 +10,7 @@ struct VSInput
struct UBO struct UBO
{ {
float4x4 projection; float4x4 projection;
float4x4 view;
float4x4 model; float4x4 model;
float4 lightPos; float4 lightPos;
}; };
@ -31,8 +32,8 @@ VSOutput main(VSInput input)
VSOutput output = (VSOutput)0; VSOutput output = (VSOutput)0;
output.Normal = input.Normal; output.Normal = input.Normal;
output.Color = input.Color; output.Color = input.Color;
output.Pos = mul(ubo.projection, mul(ubo.model, input.Pos)); output.Pos = mul(ubo.projection, mul(ubo.view, mul(ubo.model, input.Pos)));
output.EyePos = mul(ubo.model, input.Pos).xyz; output.EyePos = mul(ubo.view, mul(ubo.model, input.Pos)).xyz;
output.LightVec = normalize(ubo.lightPos.xyz - output.EyePos); output.LightVec = normalize(ubo.lightPos.xyz - output.EyePos);
// Clip against reflection plane // Clip against reflection plane