| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- // Copyright (c) 2017-2022 Xiamen Yaji Software Co., Ltd.
- #pragma define-meta USE_INSTANCING editor(elevated: true)
- // this macro must be non-const
- // use #pragma define to rename a macro with editor flag
- //#pragma define CC_SURFACES_USE_INSTANCING USE_INSTANCING
- // all material->internal macros
- // varying-dependent macros
- #ifndef CC_SURFACES_USE_SECOND_UV
- #define CC_SURFACES_USE_SECOND_UV 0
- #endif
- #ifndef CC_SURFACES_USE_TANGENT_SPACE
- #define CC_SURFACES_USE_TANGENT_SPACE 0
- #endif
- #ifndef CC_SURFACES_USE_VERTEX_COLOR
- #define CC_SURFACES_USE_VERTEX_COLOR 0
- #endif
- #ifndef CC_SURFACES_TRANSFER_LOCAL_POS
- #define CC_SURFACES_TRANSFER_LOCAL_POS 0
- #endif
- #ifndef CC_SURFACES_TRANSFER_CLIP_POS
- #define CC_SURFACES_TRANSFER_CLIP_POS 0
- #endif
- // force CC_SURFACES_USE_LIGHT_MAP to 0 is valid, force to 1 is invalid
- #ifndef CC_SURFACES_USE_LIGHT_MAP
- #ifdef CC_USE_LIGHTMAP
- #define CC_SURFACES_USE_LIGHT_MAP CC_USE_LIGHTMAP
- #else
- #define CC_SURFACES_USE_LIGHT_MAP 0
- #endif
- #endif
- // varying-undependent macros
- #ifndef CC_SURFACES_FLIP_UV
- #define CC_SURFACES_FLIP_UV 0
- #endif
- #ifndef CC_SURFACES_USE_TWO_SIDED
- #define CC_SURFACES_USE_TWO_SIDED 0
- #endif
- #ifndef CC_SURFACES_USE_REFLECTION_DENOISE
- #define CC_SURFACES_USE_REFLECTION_DENOISE 0
- #endif
- #ifndef CC_SURFACES_LIGHTING_ANISOTROPIC
- #define CC_SURFACES_LIGHTING_ANISOTROPIC 0
- #endif
- #ifndef CC_SURFACES_LIGHTING_ANISOTROPIC_ENVCONVOLUTION_COUNT
- #define CC_SURFACES_LIGHTING_ANISOTROPIC_ENVCONVOLUTION_COUNT 0
- #endif
- #ifndef CC_SURFACES_USE_LEGACY_COMPATIBLE_LIGHTING
- #define CC_SURFACES_USE_LEGACY_COMPATIBLE_LIGHTING 0
- #endif
- #ifndef CC_SURFACES_LIGHTING_USE_FRESNEL
- #define CC_SURFACES_LIGHTING_USE_FRESNEL 0
- #endif
- #ifndef CC_SURFACES_LIGHTING_TRANSMIT_SPECULAR
- #define CC_SURFACES_LIGHTING_TRANSMIT_SPECULAR 0
- #endif
- #ifndef CC_SURFACES_LIGHTING_TRANSMIT_DIFFUSE
- #define CC_SURFACES_LIGHTING_TRANSMIT_DIFFUSE 0
- #endif
- #ifndef CC_SURFACES_LIGHTING_USE_SHADOWMAP_TRANSMIT
- #define CC_SURFACES_LIGHTING_USE_SHADOWMAP_TRANSMIT 0
- #endif
- #ifndef CC_SURFACES_LIGHTING_TRT
- #define CC_SURFACES_LIGHTING_TRT 0
- #endif
- #ifndef CC_SURFACES_LIGHTING_DUAL_LOBE_SPECULAR
- #define CC_SURFACES_LIGHTING_DUAL_LOBE_SPECULAR 0
- #endif
- #ifndef CC_SURFACES_LIGHTING_SHEEN
- #define CC_SURFACES_LIGHTING_SHEEN 0
- #endif
- #ifndef CC_SURFACES_LIGHTING_CLEAR_COAT
- #define CC_SURFACES_LIGHTING_CLEAR_COAT 0
- #endif
- #ifndef CC_SURFACES_LIGHTING_TT
- #define CC_SURFACES_LIGHTING_TT 0
- #endif
- #ifndef CC_SURFACES_LIGHTING_SSS
- #define CC_SURFACES_LIGHTING_SSS 0
- #endif
- // common 2nd-specular for TRT / Dual-Lobe / Wet / ClearCoat...
- #ifndef CC_SURFACES_LIGHTING_2ND_LAYER_SPECULAR
- #if CC_SURFACES_LIGHTING_TRT || CC_SURFACES_LIGHTING_DUAL_LOBE_SPECULAR || CC_SURFACES_LIGHTING_SHEEN || CC_SURFACES_LIGHTING_CLEAR_COAT
- #define CC_SURFACES_LIGHTING_2ND_LAYER_SPECULAR 1
- #endif
- #endif
- #ifndef CC_SURFACES_LIGHTING_2ND_LAYER_SPECULAR
- #define CC_SURFACES_LIGHTING_2ND_LAYER_SPECULAR 0
- #endif
- // this value should be sub-layers count
- #ifndef CC_SURFACES_LIGHTING_USE_MULTIPLE_LAYER_BLEND
- #if CC_SURFACES_LIGHTING_CLEAR_COAT
- #define CC_SURFACES_LIGHTING_USE_MULTIPLE_LAYER_BLEND 1
- #endif
- #endif
- #ifndef CC_SURFACES_LIGHTING_USE_MULTIPLE_LAYER_BLEND
- #define CC_SURFACES_LIGHTING_USE_MULTIPLE_LAYER_BLEND 0
- #endif
- // render-to-color-map can disable functionality to avoid error data map
- #ifndef CC_SURFACES_ENABLE_DEBUG_VIEW
- #define CC_SURFACES_ENABLE_DEBUG_VIEW 1
- #endif
- // for ssss skin, only can be defined in pass embedded macros
- // CC_SURFACES_LIGHTING_DISABLE_DIFFUSE / CC_SURFACES_LIGHTING_DISABLE_SPECULAR
|