pbrFragmentDeclaration.fx 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. uniform vec4 vEyePosition;
  2. uniform vec3 vReflectionColor;
  3. uniform vec4 vAlbedoColor;
  4. // CUSTOM CONTROLS
  5. uniform vec4 vLightingIntensity;
  6. uniform vec4 vReflectivityColor;
  7. uniform vec4 vMetallicReflectanceFactors;
  8. uniform vec3 vEmissiveColor;
  9. uniform float visibility;
  10. uniform vec3 vAmbientColor;
  11. // Samplers
  12. #ifdef ALBEDO
  13. uniform vec2 vAlbedoInfos;
  14. #endif
  15. #ifdef AMBIENT
  16. uniform vec4 vAmbientInfos;
  17. #endif
  18. #ifdef BUMP
  19. uniform vec3 vBumpInfos;
  20. uniform vec2 vTangentSpaceParams;
  21. #endif
  22. #ifdef OPACITY
  23. uniform vec2 vOpacityInfos;
  24. #endif
  25. #ifdef EMISSIVE
  26. uniform vec2 vEmissiveInfos;
  27. #endif
  28. #ifdef LIGHTMAP
  29. uniform vec2 vLightmapInfos;
  30. #endif
  31. #ifdef REFLECTIVITY
  32. uniform vec3 vReflectivityInfos;
  33. #endif
  34. #ifdef MICROSURFACEMAP
  35. uniform vec2 vMicroSurfaceSamplerInfos;
  36. #endif
  37. // Refraction Reflection
  38. #if defined(REFLECTIONMAP_SPHERICAL) || defined(REFLECTIONMAP_PROJECTION) || defined(SS_REFRACTION)
  39. uniform mat4 view;
  40. #endif
  41. // Reflection
  42. #ifdef REFLECTION
  43. uniform vec2 vReflectionInfos;
  44. #ifdef REALTIME_FILTERING
  45. uniform vec2 vReflectionFilteringInfo;
  46. #endif
  47. uniform mat4 reflectionMatrix;
  48. uniform vec3 vReflectionMicrosurfaceInfos;
  49. #if defined(USE_LOCAL_REFLECTIONMAP_CUBIC) && defined(REFLECTIONMAP_CUBIC)
  50. uniform vec3 vReflectionPosition;
  51. uniform vec3 vReflectionSize;
  52. #endif
  53. #endif
  54. // Clear Coat
  55. #ifdef CLEARCOAT
  56. uniform vec2 vClearCoatParams;
  57. uniform vec4 vClearCoatRefractionParams;
  58. #if defined(CLEARCOAT_TEXTURE) || defined(CLEARCOAT_TEXTURE_ROUGHNESS)
  59. uniform vec4 vClearCoatInfos;
  60. #endif
  61. #ifdef CLEARCOAT_TEXTURE
  62. uniform mat4 clearCoatMatrix;
  63. #endif
  64. #ifdef CLEARCOAT_TEXTURE_ROUGHNESS
  65. uniform mat4 clearCoatRoughnessMatrix;
  66. #endif
  67. #ifdef CLEARCOAT_BUMP
  68. uniform vec2 vClearCoatBumpInfos;
  69. uniform vec2 vClearCoatTangentSpaceParams;
  70. uniform mat4 clearCoatBumpMatrix;
  71. #endif
  72. #ifdef CLEARCOAT_TINT
  73. uniform vec4 vClearCoatTintParams;
  74. uniform float clearCoatColorAtDistance;
  75. #ifdef CLEARCOAT_TINT_TEXTURE
  76. uniform vec2 vClearCoatTintInfos;
  77. uniform mat4 clearCoatTintMatrix;
  78. #endif
  79. #endif
  80. #endif
  81. // Anisotropy
  82. #ifdef ANISOTROPIC
  83. uniform vec3 vAnisotropy;
  84. #ifdef ANISOTROPIC_TEXTURE
  85. uniform vec2 vAnisotropyInfos;
  86. uniform mat4 anisotropyMatrix;
  87. #endif
  88. #endif
  89. // Sheen
  90. #ifdef SHEEN
  91. uniform vec4 vSheenColor;
  92. #ifdef SHEEN_ROUGHNESS
  93. uniform float vSheenRoughness;
  94. #endif
  95. #if defined(SHEEN_TEXTURE) || defined(SHEEN_TEXTURE_ROUGHNESS)
  96. uniform vec4 vSheenInfos;
  97. #endif
  98. #ifdef SHEEN_TEXTURE
  99. uniform mat4 sheenMatrix;
  100. #endif
  101. #ifdef SHEEN_TEXTURE_ROUGHNESS
  102. uniform mat4 sheenRoughnessMatrix;
  103. #endif
  104. #endif
  105. // SubSurface
  106. #ifdef SUBSURFACE
  107. #ifdef SS_REFRACTION
  108. uniform vec3 vRefractionMicrosurfaceInfos;
  109. uniform vec4 vRefractionInfos;
  110. uniform mat4 refractionMatrix;
  111. #ifdef REALTIME_FILTERING
  112. uniform vec2 vRefractionFilteringInfo;
  113. #endif
  114. #endif
  115. #ifdef SS_THICKNESSANDMASK_TEXTURE
  116. uniform vec2 vThicknessInfos;
  117. uniform mat4 thicknessMatrix;
  118. #endif
  119. uniform vec2 vThicknessParam;
  120. uniform vec3 vDiffusionDistance;
  121. uniform vec4 vTintColor;
  122. uniform vec3 vSubSurfaceIntensity;
  123. #endif
  124. #ifdef PREPASS
  125. #ifdef PREPASS_IRRADIANCE
  126. uniform float scatteringDiffusionProfile;
  127. #endif
  128. #endif
  129. #if DEBUGMODE > 0
  130. uniform vec2 vDebugMode;
  131. #endif
  132. #ifdef DETAIL
  133. uniform vec4 vDetailInfos;
  134. #endif
  135. #ifdef USESPHERICALFROMREFLECTIONMAP
  136. #ifdef SPHERICAL_HARMONICS
  137. uniform vec3 vSphericalL00;
  138. uniform vec3 vSphericalL1_1;
  139. uniform vec3 vSphericalL10;
  140. uniform vec3 vSphericalL11;
  141. uniform vec3 vSphericalL2_2;
  142. uniform vec3 vSphericalL2_1;
  143. uniform vec3 vSphericalL20;
  144. uniform vec3 vSphericalL21;
  145. uniform vec3 vSphericalL22;
  146. #else
  147. uniform vec3 vSphericalX;
  148. uniform vec3 vSphericalY;
  149. uniform vec3 vSphericalZ;
  150. uniform vec3 vSphericalXX_ZZ;
  151. uniform vec3 vSphericalYY_ZZ;
  152. uniform vec3 vSphericalZZ;
  153. uniform vec3 vSphericalXY;
  154. uniform vec3 vSphericalYZ;
  155. uniform vec3 vSphericalZX;
  156. #endif
  157. #endif