38 lines
812 B
Plaintext
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);
|
|
}
|
|
};
|
|
|