Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

99 lines
2.8 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //=============================================================================
  7. #ifndef LIGHTMAPPEDGENERIC_DX9_HELPER_H
  8. #define LIGHTMAPPEDGENERIC_DX9_HELPER_H
  9. #include <string.h>
  10. #include "BaseVSShader.h"
  11. //-----------------------------------------------------------------------------
  12. // Forward declarations
  13. //-----------------------------------------------------------------------------
  14. class CBaseVSShader;
  15. class IMaterialVar;
  16. class IShaderDynamicAPI;
  17. class IShaderShadow;
  18. //-----------------------------------------------------------------------------
  19. // Init params/ init/ draw methods
  20. //-----------------------------------------------------------------------------
  21. struct LightmappedGeneric_DX9_Vars_t
  22. {
  23. LightmappedGeneric_DX9_Vars_t() { memset( this, 0xFF, sizeof(LightmappedGeneric_DX9_Vars_t) ); }
  24. int m_nBaseTexture;
  25. int m_nBaseTextureFrame;
  26. int m_nBaseTextureTransform;
  27. int m_nAlbedo;
  28. int m_nSelfIllumTint;
  29. int m_nAlpha2; // Hack for DoD srgb blend issues on overlays
  30. int m_nDetail;
  31. int m_nDetailFrame;
  32. int m_nDetailScale;
  33. int m_nDetailTextureCombineMode;
  34. int m_nDetailTextureBlendFactor;
  35. int m_nDetailTint;
  36. int m_nEnvmap;
  37. int m_nEnvmapFrame;
  38. int m_nEnvmapMask;
  39. int m_nEnvmapMaskFrame;
  40. int m_nEnvmapMaskTransform;
  41. int m_nEnvmapTint;
  42. int m_nBumpmap;
  43. int m_nBumpFrame;
  44. int m_nBumpTransform;
  45. int m_nEnvmapContrast;
  46. int m_nEnvmapSaturation;
  47. int m_nFresnelReflection;
  48. int m_nNoDiffuseBumpLighting;
  49. int m_nBumpmap2;
  50. int m_nBumpFrame2;
  51. int m_nBumpTransform2;
  52. int m_nBumpMask;
  53. int m_nBaseTexture2;
  54. int m_nBaseTexture2Frame;
  55. int m_nBaseTextureNoEnvmap;
  56. int m_nBaseTexture2NoEnvmap;
  57. int m_nDetailAlphaMaskBaseTexture;
  58. int m_nFlashlightTexture;
  59. int m_nFlashlightTextureFrame;
  60. int m_nLightWarpTexture;
  61. int m_nBlendModulateTexture;
  62. int m_nMaskedBlending;
  63. int m_nBlendMaskTransform;
  64. int m_nSelfShadowedBumpFlag;
  65. int m_nSeamlessMappingScale;
  66. int m_nAlphaTestReference;
  67. int m_nSoftEdges;
  68. int m_nEdgeSoftnessStart;
  69. int m_nEdgeSoftnessEnd;
  70. int m_nOutline;
  71. int m_nOutlineColor;
  72. int m_nOutlineAlpha;
  73. int m_nOutlineStart0;
  74. int m_nOutlineStart1;
  75. int m_nOutlineEnd0;
  76. int m_nOutlineEnd1;
  77. };
  78. void InitParamsLightmappedGeneric_DX9( CBaseVSShader *pShader, IMaterialVar** params, const char *pMaterialName, LightmappedGeneric_DX9_Vars_t &info );
  79. void InitLightmappedGeneric_DX9( CBaseVSShader *pShader, IMaterialVar** params, LightmappedGeneric_DX9_Vars_t &info );
  80. void DrawLightmappedGeneric_DX9( CBaseVSShader *pShader, IMaterialVar** params,
  81. IShaderDynamicAPI *pShaderAPI, IShaderShadow* pShaderShadow,
  82. LightmappedGeneric_DX9_Vars_t &info, CBasePerMaterialContextData **pContextDataPtr );
  83. #endif // LIGHTMAPPEDGENERIC_DX9_HELPER_H