Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "shaders/common/hlslStructs.h"
- uniform float4x4 WorldITXf : WorldInverseTranspose;
- uniform float4x4 WvpXf : WorldViewProjection;
- uniform float4x4 WorldXf : World;
- uniform float4x4 ViewIXf : ViewInverse;
- struct VS_OUTPUT {
- float3 Position : POSITION;
- float4 UV : TEXCOORD0;
- float4 Normal : NORMAL;
- float4 Tangent : TANGENT0;
- float4 Binormal : BINORMAL0;
- };
- VS_OUTPUT std_VS(VertexIn_PNT IN) {
- VS_OUTPUT OUT = (VS_OUTPUT)0;
- OUT.WorldNormal = mul(IN.Normal,WorldITXf).xyz;
- OUT.WorldTangent = mul(IN.Tangent,WorldITXf).xyz;
- OUT.WorldBinormal = mul(IN.Binormal,WorldITXf).xyz;
- float4 Po = float4(IN.Position.xyz,1);
- float3 Pw = mul(Po,WorldXf).xyz;
- OUT.LightVec = (Lamp0Pos - Pw);
- #ifdef FLIP_TEXTURE_Y
- OUT.UV = float2(IN.UV.x,(1.0-IN.UV.y));
- #else /* !FLIP_TEXTURE_Y */
- OUT.UV = IN.UV.xy;
- #endif /* !FLIP_TEXTURE_Y */
- OUT.WorldView = normalize(ViewIXf[3].xyz - Pw);
- OUT.HPosition = mul(Po,WvpXf);
- return OUT;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement