utkuatlastuzcu/tst / Engine /Shaders /PointLightVertexShader.usf
utkuatlastuzcu's picture
download
raw
1.69 kB
/*=============================================================================
PointLightVertexShader.hlsl: Point light vertex shader.
Copyright 1998-2008 Epic Games, Inc. All Rights Reserved.
=============================================================================*/
#define NEEDS_LIGHTMAP_COORDINATE STATICLIGHTING_TEXTUREMASK
#include "Common.usf"
#include "Material.usf"
#include "VertexFactory.usf"
float4 LightPositionAndInvRadius; // w = 1.0 / Radius
void Main(
FVertexFactoryInput Input,
#if STATICLIGHTING_VERTEXMASK
float LightMask : BLENDWEIGHT0,
#endif
out FVertexFactoryInterpolants OutFactoryInterpolants,
out float3 OutTangentLightVector : TEXCOORD4,
out float4 OutWorldLightVector : TEXCOORD5,
out float3 OutCameraVector : TEXCOORD6,
out float4 OutPixelPosition : TEXCOORD7,
out float4 OutPosition : POSITION
)
{
float4 WorldPosition = VertexFactoryGetWorldPosition(Input);
OutPosition = MulMatrix(ViewProjectionMatrix,WorldPosition);
OutFactoryInterpolants = VertexFactoryGetInterpolants(Input);
#if WORLD_POS
OutPixelPosition = WorldPosition;
#else
OutPixelPosition = OutPosition;
#endif
float3x3 TangentBasis = VertexFactoryGetTangentBasis(Input);
OutCameraVector = VertexFactoryWorldToTangentSpace(Input,TangentBasis,CameraPosition.xyz - WorldPosition.xyz * CameraPosition.w);
OutTangentLightVector = VertexFactoryWorldToTangentSpace(Input,TangentBasis,LightPositionAndInvRadius.xyz - WorldPosition.xyz);
OutWorldLightVector = float4((LightPositionAndInvRadius.xyz - WorldPosition.xyz) * LightPositionAndInvRadius.w,0);
#if STATICLIGHTING_VERTEXMASK
OutWorldLightVector.w = LightMask;
#endif
}

Xet Storage Details

Size:
1.69 kB
·
Xet hash:
39e0d1e664fcf9b34f1259330d591146eefd90cac40b4d2e5f48fe622e9e2d35

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