Danbias/Code/OysterGraphics/Shader/Passes/Gather/GatherVertex.hlsl

21 lines
723 B
HLSL
Raw Normal View History

2014-02-07 11:09:59 +01:00
#include "Header.hlsli"
VertexOut main( VertexIn input )
{
VertexOut output;
Matrix boneTrans = AnimatedData[input.boneIndex.x]*input.boneWeight.x +
AnimatedData[input.boneIndex.y]*input.boneWeight.y +
AnimatedData[input.boneIndex.z]*input.boneWeight.z +
2014-02-07 08:34:01 +01:00
AnimatedData[input.boneIndex.w]*input.boneWeight.w;
2014-02-07 08:34:01 +01:00
input.pos = mul(boneTrans,float4(input.pos,1)).xyz * Animated + input.pos * int(1-Animated);
2014-02-07 08:34:01 +01:00
input.normal = mul(boneTrans,float4(input.normal,1)).xyz * Animated + input.normal * int(1-Animated);
2014-01-31 16:29:50 +01:00
2014-01-08 07:01:59 +01:00
output.pos = mul(WVP, float4(input.pos,1));
2014-02-12 12:05:27 +01:00
output.ViewPos = mul(WV, float4(input.pos,1));
output.normal = mul(WV, float4(input.normal,0)).xyz;
output.UV = input.UV;
return output;
}