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.6 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 treeleaf_vs20_Static_Index
  5. {
  6. private:
  7. int m_nHALFLAMBERT;
  8. #ifdef _DEBUG
  9. bool m_bHALFLAMBERT;
  10. #endif
  11. public:
  12. void SetHALFLAMBERT( int i )
  13. {
  14. Assert( i >= 0 && i <= 1 );
  15. m_nHALFLAMBERT = i;
  16. #ifdef _DEBUG
  17. m_bHALFLAMBERT = true;
  18. #endif
  19. }
  20. void SetHALFLAMBERT( bool i )
  21. {
  22. Assert( ( i ? 1 : 0 ) >= 0 && ( i ? 1 : 0 ) <= 1 );
  23. m_nHALFLAMBERT = i ? 1 : 0;
  24. #ifdef _DEBUG
  25. m_bHALFLAMBERT = true;
  26. #endif
  27. }
  28. private:
  29. int m_nFLATTEN_STATIC_CONTROL_FLOW;
  30. #ifdef _DEBUG
  31. bool m_bFLATTEN_STATIC_CONTROL_FLOW;
  32. #endif
  33. public:
  34. void SetFLATTEN_STATIC_CONTROL_FLOW( int i )
  35. {
  36. Assert( i >= 0 && i <= 0 );
  37. m_nFLATTEN_STATIC_CONTROL_FLOW = i;
  38. #ifdef _DEBUG
  39. m_bFLATTEN_STATIC_CONTROL_FLOW = true;
  40. #endif
  41. }
  42. void SetFLATTEN_STATIC_CONTROL_FLOW( bool i )
  43. {
  44. Assert( ( i ? 1 : 0 ) >= 0 && ( i ? 1 : 0 ) <= 0 );
  45. m_nFLATTEN_STATIC_CONTROL_FLOW = i ? 1 : 0;
  46. #ifdef _DEBUG
  47. m_bFLATTEN_STATIC_CONTROL_FLOW = true;
  48. #endif
  49. }
  50. public:
  51. // CONSTRUCTOR
  52. treeleaf_vs20_Static_Index( IShaderShadow *pShaderShadow, IMaterialVar **params )
  53. {
  54. #ifdef _DEBUG
  55. m_bHALFLAMBERT = false;
  56. #endif // _DEBUG
  57. m_nHALFLAMBERT = 0;
  58. #ifdef _DEBUG
  59. m_bFLATTEN_STATIC_CONTROL_FLOW = false;
  60. #endif // _DEBUG
  61. m_nFLATTEN_STATIC_CONTROL_FLOW = 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_bHALFLAMBERT && m_bFLATTEN_STATIC_CONTROL_FLOW;
  69. Assert( bAllStaticVarsDefined );
  70. #endif // _DEBUG
  71. return ( 4 * m_nHALFLAMBERT ) + ( 8 * m_nFLATTEN_STATIC_CONTROL_FLOW ) + 0;
  72. }
  73. };
  74. #define shaderStaticTest_treeleaf_vs20 vsh_forgot_to_set_static_HALFLAMBERT + vsh_forgot_to_set_static_FLATTEN_STATIC_CONTROL_FLOW + 0
  75. class treeleaf_vs20_Dynamic_Index
  76. {
  77. private:
  78. int m_nDYNAMIC_LIGHT;
  79. #ifdef _DEBUG
  80. bool m_bDYNAMIC_LIGHT;
  81. #endif
  82. public:
  83. void SetDYNAMIC_LIGHT( int i )
  84. {
  85. Assert( i >= 0 && i <= 1 );
  86. m_nDYNAMIC_LIGHT = i;
  87. #ifdef _DEBUG
  88. m_bDYNAMIC_LIGHT = true;
  89. #endif
  90. }
  91. void SetDYNAMIC_LIGHT( bool i )
  92. {
  93. Assert( ( i ? 1 : 0 ) >= 0 && ( i ? 1 : 0 ) <= 1 );
  94. m_nDYNAMIC_LIGHT = i ? 1 : 0;
  95. #ifdef _DEBUG
  96. m_bDYNAMIC_LIGHT = true;
  97. #endif
  98. }
  99. private:
  100. int m_nSTATIC_LIGHT;
  101. #ifdef _DEBUG
  102. bool m_bSTATIC_LIGHT;
  103. #endif
  104. public:
  105. void SetSTATIC_LIGHT( int i )
  106. {
  107. Assert( i >= 0 && i <= 1 );
  108. m_nSTATIC_LIGHT = i;
  109. #ifdef _DEBUG
  110. m_bSTATIC_LIGHT = true;
  111. #endif
  112. }
  113. void SetSTATIC_LIGHT( bool i )
  114. {
  115. Assert( ( i ? 1 : 0 ) >= 0 && ( i ? 1 : 0 ) <= 1 );
  116. m_nSTATIC_LIGHT = i ? 1 : 0;
  117. #ifdef _DEBUG
  118. m_bSTATIC_LIGHT = 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 <= 0 );
  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 ) <= 0 );
  138. m_nNUM_LIGHTS = i ? 1 : 0;
  139. #ifdef _DEBUG
  140. m_bNUM_LIGHTS = true;
  141. #endif
  142. }
  143. public:
  144. // CONSTRUCTOR
  145. treeleaf_vs20_Dynamic_Index( IShaderDynamicAPI *pShaderAPI )
  146. {
  147. #ifdef _DEBUG
  148. m_bDYNAMIC_LIGHT = false;
  149. #endif // _DEBUG
  150. m_nDYNAMIC_LIGHT = 0;
  151. #ifdef _DEBUG
  152. m_bSTATIC_LIGHT = false;
  153. #endif // _DEBUG
  154. m_nSTATIC_LIGHT = 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_bDYNAMIC_LIGHT && m_bSTATIC_LIGHT && m_bNUM_LIGHTS;
  166. Assert( bAllDynamicVarsDefined );
  167. #endif // _DEBUG
  168. return ( 1 * m_nDYNAMIC_LIGHT ) + ( 2 * m_nSTATIC_LIGHT ) + ( 4 * m_nNUM_LIGHTS ) + 0;
  169. }
  170. };
  171. #define shaderDynamicTest_treeleaf_vs20 vsh_forgot_to_set_dynamic_DYNAMIC_LIGHT + vsh_forgot_to_set_dynamic_STATIC_LIGHT + vsh_forgot_to_set_dynamic_NUM_LIGHTS + 0
  172. static const ShaderComboInformation_t s_DynamicComboArray_TreeLeaf_vs20[3] =
  173. {
  174. { "DYNAMIC_LIGHT", 0, 1 },
  175. { "STATIC_LIGHT", 0, 1 },
  176. { "NUM_LIGHTS", 0, 0 },
  177. };
  178. static const ShaderComboInformation_t s_StaticComboArray_TreeLeaf_vs20[2] =
  179. {
  180. { "HALFLAMBERT", 0, 1 },
  181. { "FLATTEN_STATIC_CONTROL_FLOW", 0, 0 },
  182. };
  183. static const ShaderComboSemantics_t TreeLeaf_vs20_combos =
  184. {
  185. "TreeLeaf_vs20", s_DynamicComboArray_TreeLeaf_vs20, 3, s_StaticComboArray_TreeLeaf_vs20, 2
  186. };
  187. class ConstructMe_TreeLeaf_vs20
  188. {
  189. public:
  190. ConstructMe_TreeLeaf_vs20()
  191. {
  192. GetShaderDLL()->AddShaderComboInformation( &TreeLeaf_vs20_combos );
  193. }
  194. };
  195. static ConstructMe_TreeLeaf_vs20 s_ConstructMe_TreeLeaf_vs20;