Code cleanup, refactoring and simplification

This commit is contained in:
Sascha Willems 2024-01-14 15:23:58 +01:00
parent 0888d1c9b0
commit 47c3bd16c4
16 changed files with 500 additions and 901 deletions

View file

@ -9,7 +9,7 @@ struct VSInput
struct Instance
{
float4x4 model;
float4 arrayIndex;
float arrayIndex;
};
struct UBO
@ -30,7 +30,7 @@ struct VSOutput
VSOutput main(VSInput input, uint InstanceIndex : SV_InstanceID)
{
VSOutput output = (VSOutput)0;
output.UV = float3(input.UV, ubo.instance[InstanceIndex].arrayIndex.x);
output.UV = float3(input.UV, ubo.instance[InstanceIndex].arrayIndex);
float4x4 modelView = mul(ubo.view, ubo.instance[InstanceIndex].model);
output.Pos = mul(ubo.projection, mul(modelView, float4(input.Pos, 1.0)));
return output;

View file

@ -20,6 +20,11 @@ VSOutput main([[vk::location(0)]] float3 Pos : POSITION0)
output.UVW = Pos;
// Convert cubemap coordinates into Vulkan coordinate space
output.UVW.xy *= -1.0;
output.Pos = mul(ubo.projection, mul(ubo.model, float4(Pos.xyz, 1.0)));
// Remove translation from view matrix
float4x4 viewMat = ubo.model;
viewMat[0][3] = 0.0;
viewMat[1][3] = 0.0;
viewMat[2][3] = 0.0;
output.Pos = mul(ubo.projection, mul(viewMat, float4(Pos.xyz, 1.0)));
return output;
}

View file

@ -22,6 +22,11 @@ VSOutput main([[vk::location(0)]] float3 Pos : POSITION0)
VSOutput output = (VSOutput)0;
output.UVW = Pos;
output.UVW.yz *= -1.0;
output.Pos = mul(ubo.projection, mul(ubo.model, float4(Pos.xyz, 1.0)));
// Remove translation from view matrix
float4x4 viewMat = ubo.model;
viewMat[0][3] = 0.0;
viewMat[1][3] = 0.0;
viewMat[2][3] = 0.0;
output.Pos = mul(ubo.projection, mul(viewMat, float4(Pos.xyz, 1.0)));
return output;
}