utkuatlastuzcu/tst / Engine /Shaders /ShadowVolumeVertexShader.usf
utkuatlastuzcu's picture
download
raw
1.11 kB
/*=============================================================================
ShadowVolumeVertexShader.usf: Shader for rendering a shadow volume.
Copyright 1998-2008 Epic Games, Inc. All Rights Reserved.
=============================================================================*/
#include "Common.usf"
float4 LightPosition;
float BaseExtrusion;
float4x4 LocalToWorld;
void Main(
in float4 InPosition : POSITION,
in float InExtrusion : TEXCOORD0,
out float4 OutPosition : POSITION
)
{
float3 WorldPosition = MulMatrix(LocalToWorld,InPosition).xyz;
float4 ExtrudedVertex = float4(WorldPosition * LightPosition.w - LightPosition.xyz,0);
float4 Vertex = float4(WorldPosition,1);
// Offset the unextruded vertex slightly to allow for some mismatch between the shadow volume and the base object.
// This can happen with GPU skinning vs the CPU skinning used for the skeletal mesh's shadow volume.
Vertex.xyz += normalize(ExtrudedVertex.xyz) * BaseExtrusion;
OutPosition = MulMatrix(ViewProjectionMatrix,InExtrusion > 0.5 ? ExtrudedVertex : Vertex);
}

Xet Storage Details

Size:
1.11 kB
·
Xet hash:
75125c52cef25d5f885d82baec3bed3bb3e780335ec1e0f0431a12bbb715c10b

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.