Files
Seele/res/shaders/lib/MaterialParameter.slang
T
2023-02-27 13:52:57 +01:00

38 lines
812 B
Plaintext

struct MaterialVertexParameter
{
float3 worldPosition;
float3 viewPosition;
float3x3 worldToTangent;
#if NUM_MATERIAL_TEXCOORDS
float2 texCoords[NUM_MATERIAL_TEXCOORDS];
#endif
#ifdef USE_INSTANCING
float4x4 instanceLocalToWorld;
float3 instanceLocalPosition;
float4 perInstanceParams;
uint instanceId;
#endif
//float3 preSkinnedPosition;
//float3 perSkinnedNormal;
float4 vertexColor;
};
struct MaterialFragmentParameter
{
float3 position_TS;
float3 viewDir_TS;
float4 vertexColor;
float3x3 worldToTangent;
#ifdef USE_INSTANCING
float3 perInstanceParams;
#endif
#if NUM_MATERIAL_TEXCOORDS
float2 texCoords[NUM_MATERIAL_TEXCOORDS];
#endif
float3 transformWorldToTangent(float3 vec)
{
return mul(worldToTangent, vec);
}
};