mirror of
https://git.mirrors.martin98.com/https://github.com/syoyo/tinygltf.git
synced 2025-04-23 06:29:54 +08:00
46 lines
772 B
HLSL
46 lines
772 B
HLSL
struct IA2VS {
|
|
float3 position : POSITION;
|
|
|
|
#ifdef HAS_NORMAL
|
|
float3 normal : NORMAL;
|
|
#endif
|
|
|
|
#ifdef HAS_TANGENT
|
|
float4 tangent : TANGENT;
|
|
#endif
|
|
|
|
#ifdef HAS_TEXCOORD_0
|
|
float2 texcoord_0: TEXCOORD_0;
|
|
#endif
|
|
};
|
|
|
|
struct VS2RS {
|
|
float4 position : SV_POSITION;
|
|
|
|
#ifdef HAS_TEXCOORD_0
|
|
float2 texcoord_0: TEXCOORD_0;
|
|
#endif
|
|
};
|
|
|
|
cbuffer Camera : register(b0) {
|
|
float4x4 V;
|
|
float4x4 P;
|
|
float4x4 VP;
|
|
};
|
|
|
|
cbuffer Node : register(b1) {
|
|
float4x4 M;
|
|
};
|
|
|
|
VS2RS main(IA2VS input) {
|
|
VS2RS output;
|
|
output.position = mul(float4(input.position, 1.0), M);
|
|
output.position = mul(output.position, V);
|
|
output.position = mul(output.position, P);
|
|
|
|
#ifdef HAS_TEXCOORD_0
|
|
output.texcoord_0 = input.texcoord_0;
|
|
#endif
|
|
|
|
return output;
|
|
} |