Counter Strike : Global Offensive Source Code
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.

199 lines
4.3 KiB

  1. // ALL SKIP STATEMENTS THAT AFFECT THIS SHADER!!!
  2. // defined $LIGHTING_PREVIEW && defined $FASTPATH && $LIGHTING_PREVIEW && $FASTPATH
  3. #include "shaderlib/cshader.h"
  4. class weapondecal_vs20_Static_Index
  5. {
  6. private:
  7. int m_nMIRROR;
  8. #ifdef _DEBUG
  9. bool m_bMIRROR;
  10. #endif
  11. public:
  12. void SetMIRROR( int i )
  13. {
  14. Assert( i >= 0 && i <= 1 );
  15. m_nMIRROR = i;
  16. #ifdef _DEBUG
  17. m_bMIRROR = true;
  18. #endif
  19. }
  20. void SetMIRROR( bool i )
  21. {
  22. Assert( ( i ? 1 : 0 ) >= 0 && ( i ? 1 : 0 ) <= 1 );
  23. m_nMIRROR = i ? 1 : 0;
  24. #ifdef _DEBUG
  25. m_bMIRROR = true;
  26. #endif
  27. }
  28. private:
  29. int m_nNORMALMAP;
  30. #ifdef _DEBUG
  31. bool m_bNORMALMAP;
  32. #endif
  33. public:
  34. void SetNORMALMAP( int i )
  35. {
  36. Assert( i >= 0 && i <= 1 );
  37. m_nNORMALMAP = i;
  38. #ifdef _DEBUG
  39. m_bNORMALMAP = true;
  40. #endif
  41. }
  42. void SetNORMALMAP( bool i )
  43. {
  44. Assert( ( i ? 1 : 0 ) >= 0 && ( i ? 1 : 0 ) <= 1 );
  45. m_nNORMALMAP = i ? 1 : 0;
  46. #ifdef _DEBUG
  47. m_bNORMALMAP = true;
  48. #endif
  49. }
  50. public:
  51. // CONSTRUCTOR
  52. weapondecal_vs20_Static_Index( IShaderShadow *pShaderShadow, IMaterialVar **params )
  53. {
  54. #ifdef _DEBUG
  55. m_bMIRROR = false;
  56. #endif // _DEBUG
  57. m_nMIRROR = 0;
  58. #ifdef _DEBUG
  59. m_bNORMALMAP = false;
  60. #endif // _DEBUG
  61. m_nNORMALMAP = 0;
  62. }
  63. int GetIndex()
  64. {
  65. // Asserts to make sure that we aren't using any skipped combinations.
  66. // Asserts to make sure that we are setting all of the combination vars.
  67. #ifdef _DEBUG
  68. bool bAllStaticVarsDefined = m_bMIRROR && m_bNORMALMAP;
  69. Assert( bAllStaticVarsDefined );
  70. #endif // _DEBUG
  71. return ( 20 * m_nMIRROR ) + ( 40 * m_nNORMALMAP ) + 0;
  72. }
  73. };
  74. #define shaderStaticTest_weapondecal_vs20 vsh_forgot_to_set_static_MIRROR + vsh_forgot_to_set_static_NORMALMAP + 0
  75. class weapondecal_vs20_Dynamic_Index
  76. {
  77. private:
  78. int m_nSKINNING;
  79. #ifdef _DEBUG
  80. bool m_bSKINNING;
  81. #endif
  82. public:
  83. void SetSKINNING( int i )
  84. {
  85. Assert( i >= 0 && i <= 1 );
  86. m_nSKINNING = i;
  87. #ifdef _DEBUG
  88. m_bSKINNING = true;
  89. #endif
  90. }
  91. void SetSKINNING( bool i )
  92. {
  93. Assert( ( i ? 1 : 0 ) >= 0 && ( i ? 1 : 0 ) <= 1 );
  94. m_nSKINNING = i ? 1 : 0;
  95. #ifdef _DEBUG
  96. m_bSKINNING = true;
  97. #endif
  98. }
  99. private:
  100. int m_nCOMPRESSED_VERTS;
  101. #ifdef _DEBUG
  102. bool m_bCOMPRESSED_VERTS;
  103. #endif
  104. public:
  105. void SetCOMPRESSED_VERTS( int i )
  106. {
  107. Assert( i >= 0 && i <= 1 );
  108. m_nCOMPRESSED_VERTS = i;
  109. #ifdef _DEBUG
  110. m_bCOMPRESSED_VERTS = true;
  111. #endif
  112. }
  113. void SetCOMPRESSED_VERTS( bool i )
  114. {
  115. Assert( ( i ? 1 : 0 ) >= 0 && ( i ? 1 : 0 ) <= 1 );
  116. m_nCOMPRESSED_VERTS = i ? 1 : 0;
  117. #ifdef _DEBUG
  118. m_bCOMPRESSED_VERTS = true;
  119. #endif
  120. }
  121. private:
  122. int m_nNUM_LIGHTS;
  123. #ifdef _DEBUG
  124. bool m_bNUM_LIGHTS;
  125. #endif
  126. public:
  127. void SetNUM_LIGHTS( int i )
  128. {
  129. Assert( i >= 0 && i <= 4 );
  130. m_nNUM_LIGHTS = i;
  131. #ifdef _DEBUG
  132. m_bNUM_LIGHTS = true;
  133. #endif
  134. }
  135. void SetNUM_LIGHTS( bool i )
  136. {
  137. Assert( ( i ? 1 : 0 ) >= 0 && ( i ? 1 : 0 ) <= 4 );
  138. m_nNUM_LIGHTS = i ? 1 : 0;
  139. #ifdef _DEBUG
  140. m_bNUM_LIGHTS = true;
  141. #endif
  142. }
  143. public:
  144. // CONSTRUCTOR
  145. weapondecal_vs20_Dynamic_Index( IShaderDynamicAPI *pShaderAPI )
  146. {
  147. #ifdef _DEBUG
  148. m_bSKINNING = false;
  149. #endif // _DEBUG
  150. m_nSKINNING = 0;
  151. #ifdef _DEBUG
  152. m_bCOMPRESSED_VERTS = false;
  153. #endif // _DEBUG
  154. m_nCOMPRESSED_VERTS = 0;
  155. #ifdef _DEBUG
  156. m_bNUM_LIGHTS = false;
  157. #endif // _DEBUG
  158. m_nNUM_LIGHTS = 0;
  159. }
  160. int GetIndex()
  161. {
  162. // Asserts to make sure that we aren't using any skipped combinations.
  163. // Asserts to make sure that we are setting all of the combination vars.
  164. #ifdef _DEBUG
  165. bool bAllDynamicVarsDefined = m_bSKINNING && m_bCOMPRESSED_VERTS && m_bNUM_LIGHTS;
  166. Assert( bAllDynamicVarsDefined );
  167. #endif // _DEBUG
  168. return ( 1 * m_nSKINNING ) + ( 2 * m_nCOMPRESSED_VERTS ) + ( 4 * m_nNUM_LIGHTS ) + 0;
  169. }
  170. };
  171. #define shaderDynamicTest_weapondecal_vs20 vsh_forgot_to_set_dynamic_SKINNING + vsh_forgot_to_set_dynamic_COMPRESSED_VERTS + vsh_forgot_to_set_dynamic_NUM_LIGHTS + 0
  172. static const ShaderComboInformation_t s_DynamicComboArray_weapondecal_vs20[3] =
  173. {
  174. { "SKINNING", 0, 1 },
  175. { "COMPRESSED_VERTS", 0, 1 },
  176. { "NUM_LIGHTS", 0, 4 },
  177. };
  178. static const ShaderComboInformation_t s_StaticComboArray_weapondecal_vs20[2] =
  179. {
  180. { "MIRROR", 0, 1 },
  181. { "NORMALMAP", 0, 1 },
  182. };
  183. static const ShaderComboSemantics_t weapondecal_vs20_combos =
  184. {
  185. "weapondecal_vs20", s_DynamicComboArray_weapondecal_vs20, 3, s_StaticComboArray_weapondecal_vs20, 2
  186. };
  187. class ConstructMe_weapondecal_vs20
  188. {
  189. public:
  190. ConstructMe_weapondecal_vs20()
  191. {
  192. GetShaderDLL()->AddShaderComboInformation( &weapondecal_vs20_combos );
  193. }
  194. };
  195. static ConstructMe_weapondecal_vs20 s_ConstructMe_weapondecal_vs20;