Files
Seele/res/shaders/lib/MaterialParameter.slang
T

38 lines
812 B
Plaintext
Raw Normal View History

struct MaterialVertexParameter
{
float3 worldPosition;
2022-03-19 22:45:30 +01:00
float3 viewPosition;
2023-02-27 13:52:57 +01:00
float3x3 worldToTangent;
#if NUM_MATERIAL_TEXCOORDS
float2 texCoords[NUM_MATERIAL_TEXCOORDS];
#endif
2020-09-19 14:36:50 +02:00
#ifdef USE_INSTANCING
float4x4 instanceLocalToWorld;
float3 instanceLocalPosition;
float4 perInstanceParams;
uint instanceId;
#endif
//float3 preSkinnedPosition;
//float3 perSkinnedNormal;
float4 vertexColor;
};
struct MaterialFragmentParameter
{
2023-02-27 13:52:57 +01:00
float3 position_TS;
float3 viewDir_TS;
float4 vertexColor;
2023-02-27 13:52:57 +01:00
float3x3 worldToTangent;
2020-09-19 14:36:50 +02:00
#ifdef USE_INSTANCING
float3 perInstanceParams;
#endif
#if NUM_MATERIAL_TEXCOORDS
float2 texCoords[NUM_MATERIAL_TEXCOORDS];
#endif
2023-02-27 13:52:57 +01:00
float3 transformWorldToTangent(float3 vec)
{
2023-02-27 13:52:57 +01:00
return mul(worldToTangent, vec);
2020-09-19 14:36:50 +02:00
}
};
2020-09-19 14:36:50 +02:00