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.

86 lines
2.4 KiB

  1. //===== Copyright � 1996-2008, Valve Corporation, All rights reserved. ======//
  2. #ifndef SHADERAPI_ISHADERDYNAMIC_DECLARATIONS_H
  3. #define SHADERAPI_ISHADERDYNAMIC_DECLARATIONS_H
  4. //-----------------------------------------------------------------------------
  5. // the 3D shader API interface
  6. // This interface is all that shaders see.
  7. //-----------------------------------------------------------------------------
  8. enum StandardTextureId_t
  9. {
  10. // Lightmaps
  11. TEXTURE_LIGHTMAP = 0,
  12. TEXTURE_LIGHTMAP_FULLBRIGHT,
  13. TEXTURE_LIGHTMAP_BUMPED,
  14. TEXTURE_LIGHTMAP_BUMPED_FULLBRIGHT,
  15. // Flat colors
  16. TEXTURE_WHITE,
  17. TEXTURE_BLACK,
  18. TEXTURE_BLACK_ALPHA_ZERO,
  19. TEXTURE_GREY,
  20. TEXTURE_GREY_ALPHA_ZERO,
  21. // Normalmaps
  22. TEXTURE_NORMALMAP_FLAT,
  23. TEXTURE_SSBUMP_FLAT,
  24. // Normalization
  25. TEXTURE_NORMALIZATION_CUBEMAP,
  26. TEXTURE_NORMALIZATION_CUBEMAP_SIGNED,
  27. // Frame-buffer textures
  28. TEXTURE_FRAME_BUFFER_FULL_TEXTURE_0,
  29. TEXTURE_FRAME_BUFFER_FULL_TEXTURE_1,
  30. // Color correction
  31. TEXTURE_COLOR_CORRECTION_VOLUME_0,
  32. TEXTURE_COLOR_CORRECTION_VOLUME_1,
  33. TEXTURE_COLOR_CORRECTION_VOLUME_2,
  34. TEXTURE_COLOR_CORRECTION_VOLUME_3,
  35. // An alias to the Back Frame Buffer
  36. TEXTURE_FRAME_BUFFER_ALIAS,
  37. // Noise for shadow mapping algorithm
  38. TEXTURE_SHADOW_NOISE_2D,
  39. // A texture in which morph data gets accumulated (vs30, fast vertex textures required)
  40. TEXTURE_MORPH_ACCUMULATOR,
  41. // A texture which contains morph weights
  42. TEXTURE_MORPH_WEIGHTS,
  43. // A snapshot of the frame buffer's depth. Currently only valid on the 360
  44. TEXTURE_FRAME_BUFFER_FULL_DEPTH,
  45. // A snapshot of the frame buffer's depth. Currently only valid on the 360
  46. TEXTURE_IDENTITY_LIGHTWARP,
  47. // The current local env_cubemap
  48. TEXTURE_LOCAL_ENV_CUBEMAP,
  49. // Texture containing subdivision surface patch data
  50. TEXTURE_SUBDIVISION_PATCHES,
  51. // Screen-space texture which contains random 3D reflection vectors used in SSAO algorithm
  52. TEXTURE_SSAO_NOISE_2D,
  53. TEXTURE_PAINT,
  54. TEXTURE_MAX_STD_TEXTURES = TEXTURE_SSAO_NOISE_2D + 1
  55. };
  56. //-----------------------------------------------------------------------------
  57. // State from ShaderAPI used to select proper vertex and pixel shader combos
  58. //-----------------------------------------------------------------------------
  59. struct LightState_t
  60. {
  61. int m_nNumLights;
  62. bool m_bAmbientLight;
  63. bool m_bStaticLight;
  64. inline int HasDynamicLight() { return (m_bAmbientLight || (m_nNumLights > 0)) ? 1 : 0; }
  65. };
  66. #endif