home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2006 February / Gamestar_81_2006-02_dvd.iso / Dema / roboblitz_demo.msi / disk1.cab / EmissiveTile.hlsl < prev    next >
Text File  |  2005-03-31  |  2KB  |  55 lines

  1. /*=============================================================================
  2.     EmissiveTile.hlsl: Shader for outputting the emissive channel of a shader on a tile.
  3.     Copyright 2004 Epic Games, Inc. All Rights Reserved.
  4. =============================================================================*/
  5.  
  6. #include "Common.hlsl"
  7. #include "UserShader.hlsl"
  8.  
  9. float4 pixelShader(float2 TexCoord : TEXCOORD0) : COLOR0
  10. {
  11.     userShaderInput    UserShaderInput;
  12. #if NUM_USER_TEXCOORDS
  13.     for(int CoordinateIndex = 0;CoordinateIndex < NUM_USER_TEXCOORDS;CoordinateIndex++)
  14.         UserShaderInput.UserTexCoords[CoordinateIndex] = TexCoord;
  15. #endif
  16.     UserShaderInput.UserVertexColor = 1;
  17.     UserShaderInput.TangentNormal = UserShaderInput.TangentCameraVector = UserShaderInput.TangentReflectionVector = UserShaderInput.TangentLightVector = UserShaderInput.ScreenPosition = 0;
  18.     calcUserVectors(UserShaderInput,float3(0,0,1),float4(TexCoord,0,1));
  19.  
  20.     userClipping(UserShaderInput);
  21.  
  22.     return float4(pow(userEmissive(UserShaderInput),1.0 / 2.2),userOpacity(UserShaderInput));
  23. }
  24.  
  25. float4    HitProxyId;
  26.  
  27. float4 hitProxyPixelShader(float2 TexCoord : TEXCOORD0) : COLOR0
  28. {
  29.     userShaderInput    UserShaderInput;
  30. #if NUM_USER_TEXCOORDS
  31.     for(int CoordinateIndex = 0;CoordinateIndex < NUM_USER_TEXCOORDS;CoordinateIndex++)
  32.         UserShaderInput.UserTexCoords[CoordinateIndex] = TexCoord;
  33. #endif
  34.     UserShaderInput.UserVertexColor = 1;
  35.     UserShaderInput.TangentNormal = UserShaderInput.TangentCameraVector = UserShaderInput.TangentReflectionVector = UserShaderInput.TangentLightVector = UserShaderInput.ScreenPosition = 0;
  36.     calcUserVectors(UserShaderInput,float3(0,0,1),float4(TexCoord,0,1));
  37.  
  38.     userClipping(UserShaderInput);
  39.  
  40.     return HitProxyId;
  41. }
  42.  
  43. struct vertexShaderOutput
  44. {
  45.     float4    Position : POSITION;
  46.     float2    TexCoord : TEXCOORD0;
  47. };
  48.  
  49. vertexShaderOutput vertexShader(float4 Position : POSITION,float2 TexCoord : TEXCOORD0)
  50. {
  51.     vertexShaderOutput Result;
  52.     Result.Position = Position;
  53.     Result.TexCoord = TexCoord;
  54.     return Result;
  55. }