pbrUboDeclaration.fx 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. layout(std140, column_major) uniform;
  2. // layout(set = 0, binding = 0) uniform Harmonics
  3. // {
  4. // uniform vec3 vSphericalL00;
  5. // uniform vec3 vSphericalL1_1;
  6. // uniform vec3 vSphericalL10;
  7. // uniform vec3 vSphericalL11;
  8. // uniform vec3 vSphericalL2_2;
  9. // uniform vec3 vSphericalL2_1;
  10. // uniform vec3 vSphericalL20;
  11. // uniform vec3 vSphericalL21;
  12. // uniform vec3 vSphericalL22;
  13. // uniform vec3 vSphericalX;
  14. // uniform vec3 vSphericalY;
  15. // uniform vec3 vSphericalZ;
  16. // uniform vec3 vSphericalXX_ZZ;
  17. // uniform vec3 vSphericalYY_ZZ;
  18. // uniform vec3 vSphericalZZ;
  19. // uniform vec3 vSphericalXY;
  20. // uniform vec3 vSphericalYZ;
  21. // uniform vec3 vSphericalZX;
  22. // }
  23. uniform Scene
  24. {
  25. mat4 viewProjection;
  26. #ifdef MULTIVIEW
  27. mat4 viewProjectionR;
  28. #endif
  29. mat4 view;
  30. };
  31. uniform Material
  32. {
  33. vec2 vAlbedoInfos;
  34. vec4 vAmbientInfos;
  35. vec2 vOpacityInfos;
  36. vec2 vEmissiveInfos;
  37. vec2 vLightmapInfos;
  38. vec3 vReflectivityInfos;
  39. vec2 vMicroSurfaceSamplerInfos;
  40. vec2 vReflectionInfos;
  41. vec3 vReflectionPosition;
  42. vec3 vReflectionSize;
  43. vec3 vBumpInfos;
  44. mat4 albedoMatrix;
  45. mat4 ambientMatrix;
  46. mat4 opacityMatrix;
  47. mat4 emissiveMatrix;
  48. mat4 lightmapMatrix;
  49. mat4 reflectivityMatrix;
  50. mat4 microSurfaceSamplerMatrix;
  51. mat4 bumpMatrix;
  52. vec2 vTangentSpaceParams;
  53. mat4 reflectionMatrix;
  54. vec3 vReflectionColor;
  55. vec4 vAlbedoColor;
  56. vec4 vLightingIntensity;
  57. vec3 vReflectionMicrosurfaceInfos;
  58. float pointSize;
  59. vec4 vReflectivityColor;
  60. vec3 vEmissiveColor;
  61. vec4 vEyePosition;
  62. vec3 vAmbientColor;
  63. vec2 vDebugMode;
  64. vec2 vClearCoatParams;
  65. vec4 vClearCoatRefractionParams;
  66. vec2 vClearCoatInfos;
  67. mat4 clearCoatMatrix;
  68. vec2 vClearCoatBumpInfos;
  69. vec2 vClearCoatTangentSpaceParams;
  70. mat4 clearCoatBumpMatrix;
  71. vec4 vClearCoatTintParams;
  72. float clearCoatColorAtDistance;
  73. vec2 vClearCoatTintInfos;
  74. mat4 clearCoatTintMatrix;
  75. vec3 vAnisotropy;
  76. vec2 vAnisotropyInfos;
  77. mat4 anisotropyMatrix;
  78. vec4 vSheenColor;
  79. vec2 vSheenInfos;
  80. mat4 sheenMatrix;
  81. vec3 vRefractionMicrosurfaceInfos;
  82. vec4 vRefractionInfos;
  83. mat4 refractionMatrix;
  84. vec2 vThicknessInfos;
  85. mat4 thicknessMatrix;
  86. vec2 vThicknessParam;
  87. vec3 vDiffusionDistance;
  88. vec4 vTintColor;
  89. vec3 vSubSurfaceIntensity;
  90. vec3 vSphericalL00;
  91. vec3 vSphericalL1_1;
  92. vec3 vSphericalL10;
  93. vec3 vSphericalL11;
  94. vec3 vSphericalL2_2;
  95. vec3 vSphericalL2_1;
  96. vec3 vSphericalL20;
  97. vec3 vSphericalL21;
  98. vec3 vSphericalL22;
  99. vec3 vSphericalX;
  100. vec3 vSphericalY;
  101. vec3 vSphericalZ;
  102. vec3 vSphericalXX_ZZ;
  103. vec3 vSphericalYY_ZZ;
  104. vec3 vSphericalZZ;
  105. vec3 vSphericalXY;
  106. vec3 vSphericalYZ;
  107. vec3 vSphericalZX;
  108. // Image Processing TODO WEBGPU Hack
  109. #ifdef WEBGPU
  110. float exposureLinear;
  111. float contrast;
  112. #endif
  113. };
  114. uniform Mesh
  115. {
  116. mat4 world;
  117. float visibility;
  118. };