mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-03-22 15:05:03 +01:00
26 lines
832 B
HLSL
26 lines
832 B
HLSL
#pragma pack_matrix(column_major)
|
|
|
|
struct VertexInput {
|
|
float3 m_Position : Position;
|
|
float3 m_Normal : Normal;
|
|
float2 m_TexCoord : TexCoord;
|
|
float4 m_Tangent : Tangent;
|
|
float4 m_InstanceTransform[3] : InstanceTransform;
|
|
};
|
|
|
|
struct VertexOutput {
|
|
float2 m_TexCoord : TexCoord;
|
|
float4 m_PositionSV : SV_Position;
|
|
};
|
|
|
|
#include "manul/draw_constants_shadow.hlsli"
|
|
|
|
VertexOutput main(in VertexInput vs_in) {
|
|
VertexOutput result;
|
|
float4x4 instance_transform = transpose(float4x4(vs_in.m_InstanceTransform[0], vs_in.m_InstanceTransform[1], vs_in.m_InstanceTransform[2], float4(0., 0., 0., 1.)));
|
|
float3 position = mul(float4(vs_in.m_Position, 1.), instance_transform);
|
|
result.m_TexCoord = vs_in.m_TexCoord;
|
|
result.m_PositionSV = mul(g_DrawConstants.m_ModelViewProjection, float4(position, 1.));
|
|
return result;
|
|
}
|