Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- VS_OUTPUT main( const VS_INPUT Input )
- {
- VS_OUTPUT Output;
- float3 worldPos;
- float3 worldNormal;
- #if MODEL
- float4 vPos = Input.vPos;
- float3 vNormal = 0;
- DecompressVertex_Normal(Input.vNormal, vNormal);
- #if ( !defined( SHADER_MODEL_VS_3_0 ) || !MORPHING )
- {
- ApplyMorph( Input.vPosFlex, vPos.xyz );
- }
- #else
- {
- ApplyMorph(morphSampler, cMorphTargetTextureDim, cMorphSubrect, Input.vVertexID, float3(0, 0, 0), vPos.xyz);
- }
- #endif
- SkinPositionAndNormal(g_bSkinning, vPos, vNormal,
- Input.vBoneWeights, Input.vBoneIndices,
- worldPos, worldNormal);
- //worldNormal = normalize(worldNormal);
- #else
- worldPos = mul( float4( Input.vPos, 1 ), cModel[0] );
- worldNormal = mul( Input.vNormal, ( float3x3 )cModel[0] );
- #endif
- // Assign output values
- Output.vProjPos = mul( float4( worldPos, 1 ), cViewProj );
- Output.vTexCoord.xy = Input.vTexCoord_0;
- Output.worldNormal_Depth.xyz = worldNormal;
- Output.worldNormal_Depth.w = Output.vProjPos.z / g_flDepthRange;
- return Output;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement