common-macros.chunk 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. // Copyright (c) 2017-2022 Xiamen Yaji Software Co., Ltd.
  2. #pragma define-meta USE_INSTANCING editor(elevated: true)
  3. // this macro must be non-const
  4. // use #pragma define to rename a macro with editor flag
  5. //#pragma define CC_SURFACES_USE_INSTANCING USE_INSTANCING
  6. // all material->internal macros
  7. // varying-dependent macros
  8. #ifndef CC_SURFACES_USE_SECOND_UV
  9. #define CC_SURFACES_USE_SECOND_UV 0
  10. #endif
  11. #ifndef CC_SURFACES_USE_TANGENT_SPACE
  12. #define CC_SURFACES_USE_TANGENT_SPACE 0
  13. #endif
  14. #ifndef CC_SURFACES_USE_VERTEX_COLOR
  15. #define CC_SURFACES_USE_VERTEX_COLOR 0
  16. #endif
  17. #ifndef CC_SURFACES_TRANSFER_LOCAL_POS
  18. #define CC_SURFACES_TRANSFER_LOCAL_POS 0
  19. #endif
  20. #ifndef CC_SURFACES_TRANSFER_CLIP_POS
  21. #define CC_SURFACES_TRANSFER_CLIP_POS 0
  22. #endif
  23. // force CC_SURFACES_USE_LIGHT_MAP to 0 is valid, force to 1 is invalid
  24. #ifndef CC_SURFACES_USE_LIGHT_MAP
  25. #ifdef CC_USE_LIGHTMAP
  26. #define CC_SURFACES_USE_LIGHT_MAP CC_USE_LIGHTMAP
  27. #else
  28. #define CC_SURFACES_USE_LIGHT_MAP 0
  29. #endif
  30. #endif
  31. // varying-undependent macros
  32. #ifndef CC_SURFACES_FLIP_UV
  33. #define CC_SURFACES_FLIP_UV 0
  34. #endif
  35. #ifndef CC_SURFACES_USE_TWO_SIDED
  36. #define CC_SURFACES_USE_TWO_SIDED 0
  37. #endif
  38. #ifndef CC_SURFACES_USE_REFLECTION_DENOISE
  39. #define CC_SURFACES_USE_REFLECTION_DENOISE 0
  40. #endif
  41. #ifndef CC_SURFACES_LIGHTING_ANISOTROPIC
  42. #define CC_SURFACES_LIGHTING_ANISOTROPIC 0
  43. #endif
  44. #ifndef CC_SURFACES_LIGHTING_ANISOTROPIC_ENVCONVOLUTION_COUNT
  45. #define CC_SURFACES_LIGHTING_ANISOTROPIC_ENVCONVOLUTION_COUNT 0
  46. #endif
  47. #ifndef CC_SURFACES_USE_LEGACY_COMPATIBLE_LIGHTING
  48. #define CC_SURFACES_USE_LEGACY_COMPATIBLE_LIGHTING 0
  49. #endif
  50. #ifndef CC_SURFACES_LIGHTING_USE_FRESNEL
  51. #define CC_SURFACES_LIGHTING_USE_FRESNEL 0
  52. #endif
  53. #ifndef CC_SURFACES_LIGHTING_TRANSMIT_SPECULAR
  54. #define CC_SURFACES_LIGHTING_TRANSMIT_SPECULAR 0
  55. #endif
  56. #ifndef CC_SURFACES_LIGHTING_TRANSMIT_DIFFUSE
  57. #define CC_SURFACES_LIGHTING_TRANSMIT_DIFFUSE 0
  58. #endif
  59. #ifndef CC_SURFACES_LIGHTING_USE_SHADOWMAP_TRANSMIT
  60. #define CC_SURFACES_LIGHTING_USE_SHADOWMAP_TRANSMIT 0
  61. #endif
  62. #ifndef CC_SURFACES_LIGHTING_TRT
  63. #define CC_SURFACES_LIGHTING_TRT 0
  64. #endif
  65. #ifndef CC_SURFACES_LIGHTING_DUAL_LOBE_SPECULAR
  66. #define CC_SURFACES_LIGHTING_DUAL_LOBE_SPECULAR 0
  67. #endif
  68. #ifndef CC_SURFACES_LIGHTING_SHEEN
  69. #define CC_SURFACES_LIGHTING_SHEEN 0
  70. #endif
  71. #ifndef CC_SURFACES_LIGHTING_CLEAR_COAT
  72. #define CC_SURFACES_LIGHTING_CLEAR_COAT 0
  73. #endif
  74. #ifndef CC_SURFACES_LIGHTING_TT
  75. #define CC_SURFACES_LIGHTING_TT 0
  76. #endif
  77. #ifndef CC_SURFACES_LIGHTING_SSS
  78. #define CC_SURFACES_LIGHTING_SSS 0
  79. #endif
  80. // common 2nd-specular for TRT / Dual-Lobe / Wet / ClearCoat...
  81. #ifndef CC_SURFACES_LIGHTING_2ND_LAYER_SPECULAR
  82. #if CC_SURFACES_LIGHTING_TRT || CC_SURFACES_LIGHTING_DUAL_LOBE_SPECULAR || CC_SURFACES_LIGHTING_SHEEN || CC_SURFACES_LIGHTING_CLEAR_COAT
  83. #define CC_SURFACES_LIGHTING_2ND_LAYER_SPECULAR 1
  84. #endif
  85. #endif
  86. #ifndef CC_SURFACES_LIGHTING_2ND_LAYER_SPECULAR
  87. #define CC_SURFACES_LIGHTING_2ND_LAYER_SPECULAR 0
  88. #endif
  89. // this value should be sub-layers count
  90. #ifndef CC_SURFACES_LIGHTING_USE_MULTIPLE_LAYER_BLEND
  91. #if CC_SURFACES_LIGHTING_CLEAR_COAT
  92. #define CC_SURFACES_LIGHTING_USE_MULTIPLE_LAYER_BLEND 1
  93. #endif
  94. #endif
  95. #ifndef CC_SURFACES_LIGHTING_USE_MULTIPLE_LAYER_BLEND
  96. #define CC_SURFACES_LIGHTING_USE_MULTIPLE_LAYER_BLEND 0
  97. #endif
  98. // render-to-color-map can disable functionality to avoid error data map
  99. #ifndef CC_SURFACES_ENABLE_DEBUG_VIEW
  100. #define CC_SURFACES_ENABLE_DEBUG_VIEW 1
  101. #endif
  102. // for ssss skin, only can be defined in pass embedded macros
  103. // CC_SURFACES_LIGHTING_DISABLE_DIFFUSE / CC_SURFACES_LIGHTING_DISABLE_SPECULAR