12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- struct interpolants
- {
- float2 texcoords : TEXCOORD0;
- float4 tangentToEyeMat0 : TEXCOORD4;
- float3 tangentToEyeMat1 : TEXCOORD5;
- float3 tangentToEyeMat2 : TEXCOORD6;
- float4 eyeSpacePosition : TEXCOORD7;
- };
- void main(in float4 oPosition : POSITION,
- in float2 texcoord0 : TEXCOORD0,
- in float3 tangent : TEXCOORD1,//TANGENT,
- in float3 binormal : TEXCOORD2,//BINORMAL,
- in float3 normal : NORMAL,
- out float4 hPosition : POSITION,
- out float4 color : COLOR0,
- out interpolants OUT,
- uniform float bumpScale,
- uniform float4x4 modelViewProj,
- uniform float4x4 modelView)
- {
- hPosition = mul(modelViewProj, oPosition);
- color = float4(1.0, 1.0, 1.0, 1.0);
- OUT.texcoords = texcoord0;
- OUT.eyeSpacePosition = mul(modelView, oPosition);
- OUT.tangentToEyeMat0.x = dot(modelView[0].xyz, tangent);
- OUT.tangentToEyeMat0.y = dot(modelView[0].xyz, binormal);
- OUT.tangentToEyeMat0.z = dot(modelView[0].xyz, normal);
- OUT.tangentToEyeMat0.w = bumpScale;
-
- OUT.tangentToEyeMat1.x = dot(modelView[1].xyz, tangent);
- OUT.tangentToEyeMat1.y = dot(modelView[1].xyz, binormal);
- OUT.tangentToEyeMat1.z = dot(modelView[1].xyz, normal);
- OUT.tangentToEyeMat2.x = dot(modelView[2].xyz, tangent);
- OUT.tangentToEyeMat2.y = dot(modelView[2].xyz, binormal);
- OUT.tangentToEyeMat2.z = dot(modelView[2].xyz, normal);
- }
|