@onerjs/core 8.26.2 → 8.26.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/Shaders/ShadersInclude/openpbrBaseLayerData.d.ts +5 -0
  2. package/Shaders/ShadersInclude/openpbrBaseLayerData.js +127 -0
  3. package/Shaders/ShadersInclude/openpbrBaseLayerData.js.map +1 -0
  4. package/Shaders/ShadersInclude/openpbrBlockAmbientOcclusion.d.ts +5 -0
  5. package/Shaders/ShadersInclude/openpbrBlockAmbientOcclusion.js +35 -0
  6. package/Shaders/ShadersInclude/openpbrBlockAmbientOcclusion.js.map +1 -0
  7. package/Shaders/ShadersInclude/openpbrBlockNormalFinal.d.ts +5 -0
  8. package/Shaders/ShadersInclude/openpbrBlockNormalFinal.js +25 -0
  9. package/Shaders/ShadersInclude/openpbrBlockNormalFinal.js.map +1 -0
  10. package/Shaders/ShadersInclude/openpbrCoatLayerData.d.ts +5 -0
  11. package/Shaders/ShadersInclude/openpbrCoatLayerData.js +59 -0
  12. package/Shaders/ShadersInclude/openpbrCoatLayerData.js.map +1 -0
  13. package/Shaders/ShadersInclude/openpbrConductorReflectance.d.ts +5 -0
  14. package/Shaders/ShadersInclude/openpbrConductorReflectance.js +19 -0
  15. package/Shaders/ShadersInclude/openpbrConductorReflectance.js.map +1 -0
  16. package/Shaders/ShadersInclude/openpbrDielectricReflectance.d.ts +5 -0
  17. package/Shaders/ShadersInclude/openpbrDielectricReflectance.js +30 -0
  18. package/Shaders/ShadersInclude/openpbrDielectricReflectance.js.map +1 -0
  19. package/Shaders/ShadersInclude/openpbrDirectLighting.d.ts +5 -0
  20. package/Shaders/ShadersInclude/openpbrDirectLighting.js +69 -0
  21. package/Shaders/ShadersInclude/openpbrDirectLighting.js.map +1 -0
  22. package/Shaders/ShadersInclude/openpbrDirectLightingInit.d.ts +5 -0
  23. package/Shaders/ShadersInclude/openpbrDirectLightingInit.js +80 -0
  24. package/Shaders/ShadersInclude/openpbrDirectLightingInit.js.map +1 -0
  25. package/Shaders/ShadersInclude/openpbrDirectLightingShadow.d.ts +5 -0
  26. package/Shaders/ShadersInclude/openpbrDirectLightingShadow.js +129 -0
  27. package/Shaders/ShadersInclude/openpbrDirectLightingShadow.js.map +1 -0
  28. package/Shaders/ShadersInclude/openpbrEnvironmentLighting.d.ts +5 -0
  29. package/Shaders/ShadersInclude/openpbrEnvironmentLighting.js +106 -0
  30. package/Shaders/ShadersInclude/openpbrEnvironmentLighting.js.map +1 -0
  31. package/Shaders/ShadersInclude/openpbrFragmentDeclaration.d.ts +6 -0
  32. package/Shaders/ShadersInclude/openpbrFragmentDeclaration.js +115 -0
  33. package/Shaders/ShadersInclude/openpbrFragmentDeclaration.js.map +1 -0
  34. package/Shaders/ShadersInclude/openpbrFragmentSamplersDeclaration.d.ts +6 -0
  35. package/Shaders/ShadersInclude/openpbrFragmentSamplersDeclaration.js +72 -0
  36. package/Shaders/ShadersInclude/openpbrFragmentSamplersDeclaration.js.map +1 -0
  37. package/Shaders/ShadersInclude/openpbrGeometryInfo.d.ts +5 -0
  38. package/Shaders/ShadersInclude/openpbrGeometryInfo.js +46 -0
  39. package/Shaders/ShadersInclude/openpbrGeometryInfo.js.map +1 -0
  40. package/Shaders/ShadersInclude/openpbrIblFunctions.d.ts +5 -0
  41. package/Shaders/ShadersInclude/openpbrIblFunctions.js +221 -0
  42. package/Shaders/ShadersInclude/openpbrIblFunctions.js.map +1 -0
  43. package/Shaders/ShadersInclude/openpbrNormalMapFragment.d.ts +5 -0
  44. package/Shaders/ShadersInclude/openpbrNormalMapFragment.js +64 -0
  45. package/Shaders/ShadersInclude/openpbrNormalMapFragment.js.map +1 -0
  46. package/Shaders/ShadersInclude/openpbrNormalMapFragmentFunctions.d.ts +6 -0
  47. package/Shaders/ShadersInclude/openpbrNormalMapFragmentFunctions.js +45 -0
  48. package/Shaders/ShadersInclude/openpbrNormalMapFragmentFunctions.js.map +1 -0
  49. package/Shaders/ShadersInclude/openpbrNormalMapFragmentMainFunctions.d.ts +5 -0
  50. package/Shaders/ShadersInclude/openpbrNormalMapFragmentMainFunctions.js +72 -0
  51. package/Shaders/ShadersInclude/openpbrNormalMapFragmentMainFunctions.js.map +1 -0
  52. package/Shaders/ShadersInclude/openpbrNormalMapVertex.d.ts +5 -0
  53. package/Shaders/ShadersInclude/openpbrNormalMapVertex.js +16 -0
  54. package/Shaders/ShadersInclude/openpbrNormalMapVertex.js.map +1 -0
  55. package/Shaders/ShadersInclude/openpbrNormalMapVertexDeclaration.d.ts +5 -0
  56. package/Shaders/ShadersInclude/openpbrNormalMapVertexDeclaration.js +16 -0
  57. package/Shaders/ShadersInclude/openpbrNormalMapVertexDeclaration.js.map +1 -0
  58. package/Shaders/ShadersInclude/openpbrUboDeclaration.d.ts +7 -0
  59. package/Shaders/ShadersInclude/openpbrUboDeclaration.js +18 -0
  60. package/Shaders/ShadersInclude/openpbrUboDeclaration.js.map +1 -0
  61. package/Shaders/ShadersInclude/openpbrVertexDeclaration.d.ts +6 -0
  62. package/Shaders/ShadersInclude/openpbrVertexDeclaration.js +103 -0
  63. package/Shaders/ShadersInclude/openpbrVertexDeclaration.js.map +1 -0
  64. package/Shaders/openpbr.fragment.d.ts +54 -0
  65. package/Shaders/openpbr.fragment.js +206 -0
  66. package/Shaders/openpbr.fragment.js.map +1 -0
  67. package/Shaders/openpbr.vertex.d.ts +39 -0
  68. package/Shaders/openpbr.vertex.js +238 -0
  69. package/Shaders/openpbr.vertex.js.map +1 -0
  70. package/ShadersWGSL/ShadersInclude/openpbrBaseLayerData.d.ts +5 -0
  71. package/ShadersWGSL/ShadersInclude/openpbrBaseLayerData.js +126 -0
  72. package/ShadersWGSL/ShadersInclude/openpbrBaseLayerData.js.map +1 -0
  73. package/ShadersWGSL/ShadersInclude/openpbrBlockAmbientOcclusion.d.ts +5 -0
  74. package/ShadersWGSL/ShadersInclude/openpbrBlockAmbientOcclusion.js +36 -0
  75. package/ShadersWGSL/ShadersInclude/openpbrBlockAmbientOcclusion.js.map +1 -0
  76. package/ShadersWGSL/ShadersInclude/openpbrBlockNormalFinal.d.ts +5 -0
  77. package/ShadersWGSL/ShadersInclude/openpbrBlockNormalFinal.js +25 -0
  78. package/ShadersWGSL/ShadersInclude/openpbrBlockNormalFinal.js.map +1 -0
  79. package/ShadersWGSL/ShadersInclude/openpbrCoatLayerData.d.ts +5 -0
  80. package/ShadersWGSL/ShadersInclude/openpbrCoatLayerData.js +59 -0
  81. package/ShadersWGSL/ShadersInclude/openpbrCoatLayerData.js.map +1 -0
  82. package/ShadersWGSL/ShadersInclude/openpbrConductorReflectance.d.ts +5 -0
  83. package/ShadersWGSL/ShadersInclude/openpbrConductorReflectance.js +19 -0
  84. package/ShadersWGSL/ShadersInclude/openpbrConductorReflectance.js.map +1 -0
  85. package/ShadersWGSL/ShadersInclude/openpbrDielectricReflectance.d.ts +5 -0
  86. package/ShadersWGSL/ShadersInclude/openpbrDielectricReflectance.js +33 -0
  87. package/ShadersWGSL/ShadersInclude/openpbrDielectricReflectance.js.map +1 -0
  88. package/ShadersWGSL/ShadersInclude/openpbrDirectLighting.d.ts +5 -0
  89. package/ShadersWGSL/ShadersInclude/openpbrDirectLighting.js +69 -0
  90. package/ShadersWGSL/ShadersInclude/openpbrDirectLighting.js.map +1 -0
  91. package/ShadersWGSL/ShadersInclude/openpbrDirectLightingInit.d.ts +5 -0
  92. package/ShadersWGSL/ShadersInclude/openpbrDirectLightingInit.js +80 -0
  93. package/ShadersWGSL/ShadersInclude/openpbrDirectLightingInit.js.map +1 -0
  94. package/ShadersWGSL/ShadersInclude/openpbrEnvironmentLighting.d.ts +5 -0
  95. package/ShadersWGSL/ShadersInclude/openpbrEnvironmentLighting.js +112 -0
  96. package/ShadersWGSL/ShadersInclude/openpbrEnvironmentLighting.js.map +1 -0
  97. package/ShadersWGSL/ShadersInclude/openpbrFragmentSamplersDeclaration.d.ts +6 -0
  98. package/ShadersWGSL/ShadersInclude/openpbrFragmentSamplersDeclaration.js +68 -0
  99. package/ShadersWGSL/ShadersInclude/openpbrFragmentSamplersDeclaration.js.map +1 -0
  100. package/ShadersWGSL/ShadersInclude/openpbrGeometryInfo.d.ts +5 -0
  101. package/ShadersWGSL/ShadersInclude/openpbrGeometryInfo.js +54 -0
  102. package/ShadersWGSL/ShadersInclude/openpbrGeometryInfo.js.map +1 -0
  103. package/ShadersWGSL/ShadersInclude/openpbrIblFunctions.d.ts +5 -0
  104. package/ShadersWGSL/ShadersInclude/openpbrIblFunctions.js +218 -0
  105. package/ShadersWGSL/ShadersInclude/openpbrIblFunctions.js.map +1 -0
  106. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragment.d.ts +5 -0
  107. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragment.js +64 -0
  108. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragment.js.map +1 -0
  109. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragmentFunctions.d.ts +6 -0
  110. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragmentFunctions.js +45 -0
  111. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragmentFunctions.js.map +1 -0
  112. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragmentMainFunctions.d.ts +5 -0
  113. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragmentMainFunctions.js +51 -0
  114. package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragmentMainFunctions.js.map +1 -0
  115. package/ShadersWGSL/ShadersInclude/openpbrNormalMapVertex.d.ts +5 -0
  116. package/ShadersWGSL/ShadersInclude/openpbrNormalMapVertex.js +16 -0
  117. package/ShadersWGSL/ShadersInclude/openpbrNormalMapVertex.js.map +1 -0
  118. package/ShadersWGSL/ShadersInclude/openpbrNormalMapVertexDeclaration.d.ts +5 -0
  119. package/ShadersWGSL/ShadersInclude/openpbrNormalMapVertexDeclaration.js +16 -0
  120. package/ShadersWGSL/ShadersInclude/openpbrNormalMapVertexDeclaration.js.map +1 -0
  121. package/ShadersWGSL/ShadersInclude/openpbrUboDeclaration.d.ts +7 -0
  122. package/ShadersWGSL/ShadersInclude/openpbrUboDeclaration.js +17 -0
  123. package/ShadersWGSL/ShadersInclude/openpbrUboDeclaration.js.map +1 -0
  124. package/ShadersWGSL/openpbr.fragment.d.ts +52 -0
  125. package/ShadersWGSL/openpbr.fragment.js +193 -0
  126. package/ShadersWGSL/openpbr.fragment.js.map +1 -0
  127. package/ShadersWGSL/openpbr.vertex.d.ts +37 -0
  128. package/ShadersWGSL/openpbr.vertex.js +227 -0
  129. package/ShadersWGSL/openpbr.vertex.js.map +1 -0
  130. package/package.json +1 -1
@@ -0,0 +1,103 @@
1
+ // Do not edit.
2
+ import { ShaderStore } from "../../Engines/shaderStore.js";
3
+ import "./decalVertexDeclaration.js";
4
+ const name = "openpbrVertexDeclaration";
5
+ const shader = `uniform mat4 view;uniform mat4 viewProjection;uniform vec4 vEyePosition;
6
+ #ifdef MULTIVIEW
7
+ mat4 viewProjectionR;
8
+ #endif
9
+ #ifdef BASE_COLOR
10
+ uniform vec2 vBaseColorInfos;uniform mat4 baseColorMatrix;
11
+ #endif
12
+ #ifdef BASE_WEIGHT
13
+ uniform mat4 baseWeightMatrix;uniform vec2 vBaseWeightInfos;
14
+ #endif
15
+ uniform float vBaseDiffuseRoughness;
16
+ #ifdef BASE_DIFFUSE_ROUGHNESS
17
+ uniform mat4 baseDiffuseRoughnessMatrix;uniform vec2 vBaseDiffuseRoughnessInfos;
18
+ #endif
19
+ #ifdef AMBIENT_OCCLUSION
20
+ uniform vec2 vAmbientOcclusionInfos;uniform mat4 ambientOcclusionMatrix;
21
+ #endif
22
+ #ifdef EMISSION_COLOR
23
+ uniform vec2 vEmissionColorInfos;uniform mat4 emissionColorMatrix;
24
+ #endif
25
+ #ifdef LIGHTMAP
26
+ uniform vec2 vLightmapInfos;uniform mat4 lightmapMatrix;
27
+ #endif
28
+ #ifdef BASE_METALNESS
29
+ uniform vec2 vBaseMetalnessInfos;uniform mat4 baseMetalnessMatrix;
30
+ #endif
31
+ #ifdef SPECULAR_WEIGHT
32
+ uniform vec2 vSpecularWeightInfos;uniform mat4 specularWeightMatrix;
33
+ #endif
34
+ #ifdef SPECULAR_COLOR
35
+ uniform vec2 vSpecularColorInfos;uniform mat4 specularColorMatrix;
36
+ #endif
37
+ #ifdef SPECULAR_ROUGHNESS
38
+ uniform vec2 vSpecularRoughnessInfos;uniform mat4 specularRoughnessMatrix;
39
+ #endif
40
+ #ifdef SPECULAR_ROUGHNESS_ANISOTROPY
41
+ uniform vec2 vSpecularRoughnessAnisotropyInfos;uniform mat4 specularRoughnessAnisotropyMatrix;
42
+ #endif
43
+ #ifdef COAT_WEIGHT
44
+ uniform vec2 vCoatWeightInfos;uniform mat4 coatWeightMatrix;
45
+ #endif
46
+ #ifdef COAT_COLOR
47
+ uniform vec2 vCoatColorInfos;uniform mat4 coatColorMatrix;
48
+ #endif
49
+ #ifdef COAT_ROUGHNESS
50
+ uniform vec2 vCoatRoughnessInfos;uniform mat4 coatRoughnessMatrix;
51
+ #endif
52
+ #ifdef COAT_ROUGHNESS_ANISOTROPY
53
+ uniform vec2 vCoatRoughnessAnisotropyInfos;uniform mat4 coatRoughnessAnisotropyMatrix;
54
+ #endif
55
+ #ifdef COAT_IOR
56
+ uniform vec2 vCoatIorInfos;uniform mat4 coatIorMatrix;
57
+ #endif
58
+ #ifdef COAT_DARKENING
59
+ uniform vec2 vCoatDarkeningInfos;uniform mat4 coatDarkeningMatrix;
60
+ #endif
61
+ #ifdef GEOMETRY_NORMAL
62
+ uniform vec2 vGeometryNormalInfos;uniform mat4 geometryNormalMatrix;
63
+ #endif
64
+ #ifdef GEOMETRY_TANGENT
65
+ uniform vec2 vGeometryTangentInfos;uniform mat4 geometryTangentMatrix;
66
+ #endif
67
+ #ifdef GEOMETRY_COAT_NORMAL
68
+ uniform vec2 vGeometryCoatNormalInfos;uniform mat4 geometryCoatNormalMatrix;
69
+ #endif
70
+ #ifdef GEOMETRY_OPACITY
71
+ uniform mat4 geometryOpacityMatrix;uniform vec2 vGeometryOpacityInfos;
72
+ #endif
73
+ #ifdef POINTSIZE
74
+ uniform float pointSize;
75
+ #endif
76
+ uniform vec4 cameraInfo;
77
+ #ifdef REFLECTION
78
+ uniform vec2 vReflectionInfos;uniform mat4 reflectionMatrix;
79
+ #endif
80
+ #ifdef NORMAL
81
+ #if defined(USESPHERICALFROMREFLECTIONMAP) && defined(USESPHERICALINVERTEX)
82
+ #ifdef USESPHERICALFROMREFLECTIONMAP
83
+ #ifdef SPHERICAL_HARMONICS
84
+ uniform vec3 vSphericalL00;uniform vec3 vSphericalL1_1;uniform vec3 vSphericalL10;uniform vec3 vSphericalL11;uniform vec3 vSphericalL2_2;uniform vec3 vSphericalL2_1;uniform vec3 vSphericalL20;uniform vec3 vSphericalL21;uniform vec3 vSphericalL22;
85
+ #else
86
+ uniform vec3 vSphericalX;uniform vec3 vSphericalY;uniform vec3 vSphericalZ;uniform vec3 vSphericalXX_ZZ;uniform vec3 vSphericalYY_ZZ;uniform vec3 vSphericalZZ;uniform vec3 vSphericalXY;uniform vec3 vSphericalYZ;uniform vec3 vSphericalZX;
87
+ #endif
88
+ #endif
89
+ #endif
90
+ #endif
91
+ #ifdef DETAIL
92
+ uniform vec4 vDetailInfos;uniform mat4 detailMatrix;
93
+ #endif
94
+ #include<decalVertexDeclaration>
95
+ #define ADDITIONAL_VERTEX_DECLARATION
96
+ `;
97
+ // Sideeffect
98
+ if (!ShaderStore.IncludesShadersStore[name]) {
99
+ ShaderStore.IncludesShadersStore[name] = shader;
100
+ }
101
+ /** @internal */
102
+ export const openpbrVertexDeclaration = { name, shader };
103
+ //# sourceMappingURL=openpbrVertexDeclaration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openpbrVertexDeclaration.js","sourceRoot":"","sources":["../../../../../dev/core/src/Shaders/ShadersInclude/openpbrVertexDeclaration.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,0BAA0B,CAAC;AAElC,MAAM,IAAI,GAAG,0BAA0B,CAAC;AACxC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2Fd,CAAC;AACF,aAAa;AACb,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;IAC1C,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACpD,CAAC;AACD,gBAAgB;AAChB,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"../../Engines/shaderStore\";\nimport \"./decalVertexDeclaration\";\n\nconst name = \"openpbrVertexDeclaration\";\nconst shader = `uniform mat4 view;uniform mat4 viewProjection;uniform vec4 vEyePosition;\n#ifdef MULTIVIEW\nmat4 viewProjectionR;\n#endif\n#ifdef BASE_COLOR\nuniform vec2 vBaseColorInfos;uniform mat4 baseColorMatrix;\n#endif\n#ifdef BASE_WEIGHT\nuniform mat4 baseWeightMatrix;uniform vec2 vBaseWeightInfos;\n#endif\nuniform float vBaseDiffuseRoughness;\n#ifdef BASE_DIFFUSE_ROUGHNESS\nuniform mat4 baseDiffuseRoughnessMatrix;uniform vec2 vBaseDiffuseRoughnessInfos;\n#endif\n#ifdef AMBIENT_OCCLUSION\nuniform vec2 vAmbientOcclusionInfos;uniform mat4 ambientOcclusionMatrix;\n#endif\n#ifdef EMISSION_COLOR\nuniform vec2 vEmissionColorInfos;uniform mat4 emissionColorMatrix;\n#endif\n#ifdef LIGHTMAP\nuniform vec2 vLightmapInfos;uniform mat4 lightmapMatrix;\n#endif\n#ifdef BASE_METALNESS\nuniform vec2 vBaseMetalnessInfos;uniform mat4 baseMetalnessMatrix;\n#endif\n#ifdef SPECULAR_WEIGHT\nuniform vec2 vSpecularWeightInfos;uniform mat4 specularWeightMatrix;\n#endif\n#ifdef SPECULAR_COLOR\nuniform vec2 vSpecularColorInfos;uniform mat4 specularColorMatrix;\n#endif\n#ifdef SPECULAR_ROUGHNESS\nuniform vec2 vSpecularRoughnessInfos;uniform mat4 specularRoughnessMatrix;\n#endif\n#ifdef SPECULAR_ROUGHNESS_ANISOTROPY\nuniform vec2 vSpecularRoughnessAnisotropyInfos;uniform mat4 specularRoughnessAnisotropyMatrix;\n#endif\n#ifdef COAT_WEIGHT\nuniform vec2 vCoatWeightInfos;uniform mat4 coatWeightMatrix;\n#endif\n#ifdef COAT_COLOR\nuniform vec2 vCoatColorInfos;uniform mat4 coatColorMatrix;\n#endif\n#ifdef COAT_ROUGHNESS\nuniform vec2 vCoatRoughnessInfos;uniform mat4 coatRoughnessMatrix;\n#endif\n#ifdef COAT_ROUGHNESS_ANISOTROPY\nuniform vec2 vCoatRoughnessAnisotropyInfos;uniform mat4 coatRoughnessAnisotropyMatrix;\n#endif\n#ifdef COAT_IOR\nuniform vec2 vCoatIorInfos;uniform mat4 coatIorMatrix;\n#endif\n#ifdef COAT_DARKENING\nuniform vec2 vCoatDarkeningInfos;uniform mat4 coatDarkeningMatrix;\n#endif\n#ifdef GEOMETRY_NORMAL\nuniform vec2 vGeometryNormalInfos;uniform mat4 geometryNormalMatrix;\n#endif\n#ifdef GEOMETRY_TANGENT\nuniform vec2 vGeometryTangentInfos;uniform mat4 geometryTangentMatrix;\n#endif\n#ifdef GEOMETRY_COAT_NORMAL\nuniform vec2 vGeometryCoatNormalInfos;uniform mat4 geometryCoatNormalMatrix;\n#endif\n#ifdef GEOMETRY_OPACITY\nuniform mat4 geometryOpacityMatrix;uniform vec2 vGeometryOpacityInfos;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\nuniform vec4 cameraInfo;\n#ifdef REFLECTION\nuniform vec2 vReflectionInfos;uniform mat4 reflectionMatrix;\n#endif\n#ifdef NORMAL\n#if defined(USESPHERICALFROMREFLECTIONMAP) && defined(USESPHERICALINVERTEX)\n#ifdef USESPHERICALFROMREFLECTIONMAP\n#ifdef SPHERICAL_HARMONICS\nuniform vec3 vSphericalL00;uniform vec3 vSphericalL1_1;uniform vec3 vSphericalL10;uniform vec3 vSphericalL11;uniform vec3 vSphericalL2_2;uniform vec3 vSphericalL2_1;uniform vec3 vSphericalL20;uniform vec3 vSphericalL21;uniform vec3 vSphericalL22;\n#else\nuniform vec3 vSphericalX;uniform vec3 vSphericalY;uniform vec3 vSphericalZ;uniform vec3 vSphericalXX_ZZ;uniform vec3 vSphericalYY_ZZ;uniform vec3 vSphericalZZ;uniform vec3 vSphericalXY;uniform vec3 vSphericalYZ;uniform vec3 vSphericalZX;\n#endif\n#endif\n#endif\n#endif\n#ifdef DETAIL\nuniform vec4 vDetailInfos;uniform mat4 detailMatrix;\n#endif\n#include<decalVertexDeclaration>\n#define ADDITIONAL_VERTEX_DECLARATION\n`;\n// Sideeffect\nif (!ShaderStore.IncludesShadersStore[name]) {\n ShaderStore.IncludesShadersStore[name] = shader;\n}\n/** @internal */\nexport const openpbrVertexDeclaration = { name, shader };\n"]}
@@ -0,0 +1,54 @@
1
+ import "./ShadersInclude/prePassDeclaration.js";
2
+ import "./ShadersInclude/oitDeclaration.js";
3
+ import "./ShadersInclude/openpbrFragmentDeclaration.js";
4
+ import "./ShadersInclude/openpbrUboDeclaration.js";
5
+ import "./ShadersInclude/pbrFragmentExtraDeclaration.js";
6
+ import "./ShadersInclude/lightFragmentDeclaration.js";
7
+ import "./ShadersInclude/lightUboDeclaration.js";
8
+ import "./ShadersInclude/openpbrFragmentSamplersDeclaration.js";
9
+ import "./ShadersInclude/imageProcessingDeclaration.js";
10
+ import "./ShadersInclude/clipPlaneFragmentDeclaration.js";
11
+ import "./ShadersInclude/logDepthDeclaration.js";
12
+ import "./ShadersInclude/fogFragmentDeclaration.js";
13
+ import "./ShadersInclude/helperFunctions.js";
14
+ import "./ShadersInclude/subSurfaceScatteringFunctions.js";
15
+ import "./ShadersInclude/importanceSampling.js";
16
+ import "./ShadersInclude/pbrHelperFunctions.js";
17
+ import "./ShadersInclude/imageProcessingFunctions.js";
18
+ import "./ShadersInclude/shadowsFragmentFunctions.js";
19
+ import "./ShadersInclude/harmonicsFunctions.js";
20
+ import "./ShadersInclude/pbrDirectLightingSetupFunctions.js";
21
+ import "./ShadersInclude/pbrDirectLightingFalloffFunctions.js";
22
+ import "./ShadersInclude/pbrBRDFFunctions.js";
23
+ import "./ShadersInclude/hdrFilteringFunctions.js";
24
+ import "./ShadersInclude/pbrDirectLightingFunctions.js";
25
+ import "./ShadersInclude/pbrIBLFunctions.js";
26
+ import "./ShadersInclude/openpbrNormalMapFragmentMainFunctions.js";
27
+ import "./ShadersInclude/openpbrNormalMapFragmentFunctions.js";
28
+ import "./ShadersInclude/reflectionFunction.js";
29
+ import "./ShadersInclude/openpbrDielectricReflectance.js";
30
+ import "./ShadersInclude/openpbrConductorReflectance.js";
31
+ import "./ShadersInclude/openpbrBlockAmbientOcclusion.js";
32
+ import "./ShadersInclude/openpbrGeometryInfo.js";
33
+ import "./ShadersInclude/openpbrIblFunctions.js";
34
+ import "./ShadersInclude/clipPlaneFragment.js";
35
+ import "./ShadersInclude/pbrBlockNormalGeometric.js";
36
+ import "./ShadersInclude/openpbrNormalMapFragment.js";
37
+ import "./ShadersInclude/openpbrBlockNormalFinal.js";
38
+ import "./ShadersInclude/openpbrBaseLayerData.js";
39
+ import "./ShadersInclude/openpbrCoatLayerData.js";
40
+ import "./ShadersInclude/depthPrePass.js";
41
+ import "./ShadersInclude/openpbrEnvironmentLighting.js";
42
+ import "./ShadersInclude/openpbrDirectLightingInit.js";
43
+ import "./ShadersInclude/openpbrDirectLighting.js";
44
+ import "./ShadersInclude/logDepthFragment.js";
45
+ import "./ShadersInclude/fogFragment.js";
46
+ import "./ShadersInclude/pbrBlockImageProcessing.js";
47
+ import "./ShadersInclude/pbrBlockPrePass.js";
48
+ import "./ShadersInclude/oitFragment.js";
49
+ import "./ShadersInclude/pbrDebug.js";
50
+ /** @internal */
51
+ export declare const openpbrPixelShader: {
52
+ name: string;
53
+ shader: string;
54
+ };
@@ -0,0 +1,206 @@
1
+ // Do not edit.
2
+ import { ShaderStore } from "../Engines/shaderStore.js";
3
+ import "./ShadersInclude/prePassDeclaration.js";
4
+ import "./ShadersInclude/oitDeclaration.js";
5
+ import "./ShadersInclude/openpbrFragmentDeclaration.js";
6
+ import "./ShadersInclude/openpbrUboDeclaration.js";
7
+ import "./ShadersInclude/pbrFragmentExtraDeclaration.js";
8
+ import "./ShadersInclude/lightFragmentDeclaration.js";
9
+ import "./ShadersInclude/lightUboDeclaration.js";
10
+ import "./ShadersInclude/openpbrFragmentSamplersDeclaration.js";
11
+ import "./ShadersInclude/imageProcessingDeclaration.js";
12
+ import "./ShadersInclude/clipPlaneFragmentDeclaration.js";
13
+ import "./ShadersInclude/logDepthDeclaration.js";
14
+ import "./ShadersInclude/fogFragmentDeclaration.js";
15
+ import "./ShadersInclude/helperFunctions.js";
16
+ import "./ShadersInclude/subSurfaceScatteringFunctions.js";
17
+ import "./ShadersInclude/importanceSampling.js";
18
+ import "./ShadersInclude/pbrHelperFunctions.js";
19
+ import "./ShadersInclude/imageProcessingFunctions.js";
20
+ import "./ShadersInclude/shadowsFragmentFunctions.js";
21
+ import "./ShadersInclude/harmonicsFunctions.js";
22
+ import "./ShadersInclude/pbrDirectLightingSetupFunctions.js";
23
+ import "./ShadersInclude/pbrDirectLightingFalloffFunctions.js";
24
+ import "./ShadersInclude/pbrBRDFFunctions.js";
25
+ import "./ShadersInclude/hdrFilteringFunctions.js";
26
+ import "./ShadersInclude/pbrDirectLightingFunctions.js";
27
+ import "./ShadersInclude/pbrIBLFunctions.js";
28
+ import "./ShadersInclude/openpbrNormalMapFragmentMainFunctions.js";
29
+ import "./ShadersInclude/openpbrNormalMapFragmentFunctions.js";
30
+ import "./ShadersInclude/reflectionFunction.js";
31
+ import "./ShadersInclude/openpbrDielectricReflectance.js";
32
+ import "./ShadersInclude/openpbrConductorReflectance.js";
33
+ import "./ShadersInclude/openpbrBlockAmbientOcclusion.js";
34
+ import "./ShadersInclude/openpbrGeometryInfo.js";
35
+ import "./ShadersInclude/openpbrIblFunctions.js";
36
+ import "./ShadersInclude/clipPlaneFragment.js";
37
+ import "./ShadersInclude/pbrBlockNormalGeometric.js";
38
+ import "./ShadersInclude/openpbrNormalMapFragment.js";
39
+ import "./ShadersInclude/openpbrBlockNormalFinal.js";
40
+ import "./ShadersInclude/openpbrBaseLayerData.js";
41
+ import "./ShadersInclude/openpbrCoatLayerData.js";
42
+ import "./ShadersInclude/depthPrePass.js";
43
+ import "./ShadersInclude/openpbrEnvironmentLighting.js";
44
+ import "./ShadersInclude/openpbrDirectLightingInit.js";
45
+ import "./ShadersInclude/openpbrDirectLighting.js";
46
+ import "./ShadersInclude/logDepthFragment.js";
47
+ import "./ShadersInclude/fogFragment.js";
48
+ import "./ShadersInclude/pbrBlockImageProcessing.js";
49
+ import "./ShadersInclude/pbrBlockPrePass.js";
50
+ import "./ShadersInclude/oitFragment.js";
51
+ import "./ShadersInclude/pbrDebug.js";
52
+ const name = "openpbrPixelShader";
53
+ const shader = `#define OPENPBR_FRAGMENT_SHADER
54
+ #define CUSTOM_FRAGMENT_EXTENSION
55
+ #if defined(GEOMETRY_NORMAL) || defined(GEOMETRY_COAT_NORMAL) || !defined(NORMAL) || defined(FORCENORMALFORWARD) || defined(SPECULARAA)
56
+ #extension GL_OES_standard_derivatives : enable
57
+ #endif
58
+ #ifdef LODBASEDMICROSFURACE
59
+ #extension GL_EXT_shader_texture_lod : enable
60
+ #endif
61
+ #define CUSTOM_FRAGMENT_BEGIN
62
+ #ifdef LOGARITHMICDEPTH
63
+ #extension GL_EXT_frag_depth : enable
64
+ #endif
65
+ #include<prePassDeclaration>[SCENE_MRT_COUNT]
66
+ precision highp float;
67
+ #include<oitDeclaration>
68
+ #ifndef FROMLINEARSPACE
69
+ #define FROMLINEARSPACE
70
+ #endif
71
+ #include<__decl__openpbrFragment>
72
+ #include<pbrFragmentExtraDeclaration>
73
+ #include<__decl__lightFragment>[0..maxSimultaneousLights]
74
+ #include<openpbrFragmentSamplersDeclaration>
75
+ #include<imageProcessingDeclaration>
76
+ #include<clipPlaneFragmentDeclaration>
77
+ #include<logDepthDeclaration>
78
+ #include<fogFragmentDeclaration>
79
+ #include<helperFunctions>
80
+ #include<subSurfaceScatteringFunctions>
81
+ #include<importanceSampling>
82
+ #include<pbrHelperFunctions>
83
+ #include<imageProcessingFunctions>
84
+ #include<shadowsFragmentFunctions>
85
+ #include<harmonicsFunctions>
86
+ #include<pbrDirectLightingSetupFunctions>
87
+ #include<pbrDirectLightingFalloffFunctions>
88
+ #include<pbrBRDFFunctions>
89
+ #include<hdrFilteringFunctions>
90
+ #include<pbrDirectLightingFunctions>
91
+ #include<pbrIBLFunctions>
92
+ #include<openpbrNormalMapFragmentMainFunctions>
93
+ #include<openpbrNormalMapFragmentFunctions>
94
+ #ifdef REFLECTION
95
+ #include<reflectionFunction>
96
+ #endif
97
+ #define CUSTOM_FRAGMENT_DEFINITIONS
98
+ #include<openpbrDielectricReflectance>
99
+ #include<openpbrConductorReflectance>
100
+ #include<openpbrBlockAmbientOcclusion>
101
+ #include<openpbrGeometryInfo>
102
+ #include<openpbrIblFunctions>
103
+ vec3 layer(vec3 slab_bottom,vec3 slab_top,float lerp_factor,vec3 bottom_multiplier,vec3 top_multiplier) {return mix(slab_bottom*bottom_multiplier,slab_top*top_multiplier,lerp_factor);}
104
+ void main(void) {
105
+ #define CUSTOM_FRAGMENT_MAIN_BEGIN
106
+ #include<clipPlaneFragment>
107
+ #include<pbrBlockNormalGeometric>
108
+ vec3 coatNormalW=normalW;
109
+ #include<openpbrNormalMapFragment>
110
+ #include<openpbrBlockNormalFinal>
111
+ #include<openpbrBaseLayerData>
112
+ #include<openpbrCoatLayerData>
113
+ float subsurface_weight=0.0;float transmission_weight=0.0;float fuzz_weight=0.0;
114
+ #define CUSTOM_FRAGMENT_UPDATE_ALPHA
115
+ #include<depthPrePass>
116
+ #define CUSTOM_FRAGMENT_BEFORE_LIGHTS
117
+ ambientOcclusionOutParams aoOut;
118
+ #ifdef AMBIENT_OCCLUSION
119
+ vec3 ambientOcclusionFromTexture=texture2D(ambientOcclusionSampler,vAmbientOcclusionUV+uvOffset).rgb;
120
+ #endif
121
+ aoOut=ambientOcclusionBlock(
122
+ #ifdef AMBIENT_OCCLUSION
123
+ ambientOcclusionFromTexture,
124
+ vAmbientOcclusionInfos
125
+ #endif
126
+ );
127
+ #ifdef ANISOTROPIC_COAT
128
+ geometryInfoAnisoOutParams coatGeoInfo=geometryInfoAniso(
129
+ coatNormalW,viewDirectionW.xyz,coat_roughness,geometricNormalW
130
+ ,vec3(geometry_coat_tangent.x,geometry_coat_tangent.y,coat_roughness_anisotropy),TBN
131
+ );
132
+ #else
133
+ geometryInfoOutParams coatGeoInfo=geometryInfo(
134
+ coatNormalW,viewDirectionW.xyz,coat_roughness,geometricNormalW
135
+ );
136
+ #endif
137
+ specular_roughness=mix(specular_roughness,pow(min(1.0,pow(specular_roughness,4.0)+2.0*pow(coat_roughness,4.0)),0.25),coat_weight);
138
+ #ifdef ANISOTROPIC_BASE
139
+ geometryInfoAnisoOutParams baseGeoInfo=geometryInfoAniso(
140
+ normalW,viewDirectionW.xyz,specular_roughness,geometricNormalW
141
+ ,vec3(geometry_tangent.x,geometry_tangent.y,specular_roughness_anisotropy),TBN
142
+ );
143
+ #else
144
+ geometryInfoOutParams baseGeoInfo=geometryInfo(
145
+ normalW,viewDirectionW.xyz,specular_roughness,geometricNormalW
146
+ );
147
+ #endif
148
+ ReflectanceParams coatReflectance;coatReflectance=dielectricReflectance(
149
+ coat_ior
150
+ ,1.0
151
+ ,vec3(1.0)
152
+ ,coat_weight
153
+ );ReflectanceParams baseDielectricReflectance;{float effectiveCoatIor=mix(1.0,coat_ior,coat_weight);baseDielectricReflectance=dielectricReflectance(
154
+ specular_ior
155
+ ,effectiveCoatIor
156
+ ,specular_color
157
+ ,specular_weight
158
+ );}
159
+ ReflectanceParams baseConductorReflectance;baseConductorReflectance=conductorReflectance(base_color,specular_color,specular_weight);vec3 material_surface_ibl=vec3(0.,0.,0.);
160
+ #include<openpbrEnvironmentLighting>
161
+ vec3 material_surface_direct=vec3(0.,0.,0.);
162
+ #if defined(LIGHT0)
163
+ float aggShadow=0.;float numLights=0.;
164
+ #include<openpbrDirectLightingInit>[0..maxSimultaneousLights]
165
+ #include<openpbrDirectLighting>[0..maxSimultaneousLights]
166
+ #endif
167
+ vec3 material_surface_emission=vEmissionColor;
168
+ #ifdef EMISSION_COLOR
169
+ vec3 emissionColorTex=texture2D(emissionColorSampler,vEmissionColorUV+uvOffset).rgb;
170
+ #ifdef EMISSION_COLOR_GAMMA
171
+ material_surface_emission*=toLinearSpace(emissionColorTex.rgb);
172
+ #else
173
+ material_surface_emission*=emissionColorTex.rgb;
174
+ #endif
175
+ material_surface_emission*= vEmissionColorInfos.y;
176
+ #endif
177
+ material_surface_emission*=vLightingIntensity.y;
178
+ #define CUSTOM_FRAGMENT_BEFORE_FINALCOLORCOMPOSITION
179
+ vec4 finalColor=vec4(material_surface_ibl+material_surface_direct+material_surface_emission,alpha);
180
+ #define CUSTOM_FRAGMENT_BEFORE_FOG
181
+ finalColor=max(finalColor,0.0);
182
+ #include<logDepthFragment>
183
+ #include<fogFragment>(color,finalColor)
184
+ #include<pbrBlockImageProcessing>
185
+ #define CUSTOM_FRAGMENT_BEFORE_FRAGCOLOR
186
+ #ifdef PREPASS
187
+ #include<pbrBlockPrePass>
188
+ #endif
189
+ #if !defined(PREPASS) || defined(WEBGL2)
190
+ gl_FragColor=finalColor;
191
+ #endif
192
+ #include<oitFragment>
193
+ #if ORDER_INDEPENDENT_TRANSPARENCY
194
+ if (fragDepth==nearestDepth) {frontColor.rgb+=finalColor.rgb*finalColor.a*alphaMultiplier;frontColor.a=1.0-alphaMultiplier*(1.0-finalColor.a);} else {backColor+=finalColor;}
195
+ #endif
196
+ #include<pbrDebug>
197
+ #define CUSTOM_FRAGMENT_MAIN_END
198
+ }
199
+ `;
200
+ // Sideeffect
201
+ if (!ShaderStore.ShadersStore[name]) {
202
+ ShaderStore.ShadersStore[name] = shader;
203
+ }
204
+ /** @internal */
205
+ export const openpbrPixelShader = { name, shader };
206
+ //# sourceMappingURL=openpbr.fragment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openpbr.fragment.js","sourceRoot":"","sources":["../../../../dev/core/src/Shaders/openpbr.fragment.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,qCAAqC,CAAC;AAC7C,OAAO,iCAAiC,CAAC;AACzC,OAAO,6CAA6C,CAAC;AACrD,OAAO,wCAAwC,CAAC;AAChD,OAAO,8CAA8C,CAAC;AACtD,OAAO,2CAA2C,CAAC;AACnD,OAAO,sCAAsC,CAAC;AAC9C,OAAO,qDAAqD,CAAC;AAC7D,OAAO,6CAA6C,CAAC;AACrD,OAAO,+CAA+C,CAAC;AACvD,OAAO,sCAAsC,CAAC;AAC9C,OAAO,yCAAyC,CAAC;AACjD,OAAO,kCAAkC,CAAC;AAC1C,OAAO,gDAAgD,CAAC;AACxD,OAAO,qCAAqC,CAAC;AAC7C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,2CAA2C,CAAC;AACnD,OAAO,2CAA2C,CAAC;AACnD,OAAO,qCAAqC,CAAC;AAC7C,OAAO,kDAAkD,CAAC;AAC1D,OAAO,oDAAoD,CAAC;AAC5D,OAAO,mCAAmC,CAAC;AAC3C,OAAO,wCAAwC,CAAC;AAChD,OAAO,6CAA6C,CAAC;AACrD,OAAO,kCAAkC,CAAC;AAC1C,OAAO,wDAAwD,CAAC;AAChE,OAAO,oDAAoD,CAAC;AAC5D,OAAO,qCAAqC,CAAC;AAC7C,OAAO,+CAA+C,CAAC;AACvD,OAAO,8CAA8C,CAAC;AACtD,OAAO,+CAA+C,CAAC;AACvD,OAAO,sCAAsC,CAAC;AAC9C,OAAO,sCAAsC,CAAC;AAC9C,OAAO,oCAAoC,CAAC;AAC5C,OAAO,0CAA0C,CAAC;AAClD,OAAO,2CAA2C,CAAC;AACnD,OAAO,0CAA0C,CAAC;AAClD,OAAO,uCAAuC,CAAC;AAC/C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,+BAA+B,CAAC;AACvC,OAAO,6CAA6C,CAAC;AACrD,OAAO,4CAA4C,CAAC;AACpD,OAAO,wCAAwC,CAAC;AAChD,OAAO,mCAAmC,CAAC;AAC3C,OAAO,8BAA8B,CAAC;AACtC,OAAO,0CAA0C,CAAC;AAClD,OAAO,kCAAkC,CAAC;AAC1C,OAAO,8BAA8B,CAAC;AACtC,OAAO,2BAA2B,CAAC;AAEnC,MAAM,IAAI,GAAG,oBAAoB,CAAC;AAClC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkJd,CAAC;AACF,aAAa;AACb,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;IAClC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAC5C,CAAC;AACD,gBAAgB;AAChB,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"../Engines/shaderStore\";\nimport \"./ShadersInclude/prePassDeclaration\";\nimport \"./ShadersInclude/oitDeclaration\";\nimport \"./ShadersInclude/openpbrFragmentDeclaration\";\nimport \"./ShadersInclude/openpbrUboDeclaration\";\nimport \"./ShadersInclude/pbrFragmentExtraDeclaration\";\nimport \"./ShadersInclude/lightFragmentDeclaration\";\nimport \"./ShadersInclude/lightUboDeclaration\";\nimport \"./ShadersInclude/openpbrFragmentSamplersDeclaration\";\nimport \"./ShadersInclude/imageProcessingDeclaration\";\nimport \"./ShadersInclude/clipPlaneFragmentDeclaration\";\nimport \"./ShadersInclude/logDepthDeclaration\";\nimport \"./ShadersInclude/fogFragmentDeclaration\";\nimport \"./ShadersInclude/helperFunctions\";\nimport \"./ShadersInclude/subSurfaceScatteringFunctions\";\nimport \"./ShadersInclude/importanceSampling\";\nimport \"./ShadersInclude/pbrHelperFunctions\";\nimport \"./ShadersInclude/imageProcessingFunctions\";\nimport \"./ShadersInclude/shadowsFragmentFunctions\";\nimport \"./ShadersInclude/harmonicsFunctions\";\nimport \"./ShadersInclude/pbrDirectLightingSetupFunctions\";\nimport \"./ShadersInclude/pbrDirectLightingFalloffFunctions\";\nimport \"./ShadersInclude/pbrBRDFFunctions\";\nimport \"./ShadersInclude/hdrFilteringFunctions\";\nimport \"./ShadersInclude/pbrDirectLightingFunctions\";\nimport \"./ShadersInclude/pbrIBLFunctions\";\nimport \"./ShadersInclude/openpbrNormalMapFragmentMainFunctions\";\nimport \"./ShadersInclude/openpbrNormalMapFragmentFunctions\";\nimport \"./ShadersInclude/reflectionFunction\";\nimport \"./ShadersInclude/openpbrDielectricReflectance\";\nimport \"./ShadersInclude/openpbrConductorReflectance\";\nimport \"./ShadersInclude/openpbrBlockAmbientOcclusion\";\nimport \"./ShadersInclude/openpbrGeometryInfo\";\nimport \"./ShadersInclude/openpbrIblFunctions\";\nimport \"./ShadersInclude/clipPlaneFragment\";\nimport \"./ShadersInclude/pbrBlockNormalGeometric\";\nimport \"./ShadersInclude/openpbrNormalMapFragment\";\nimport \"./ShadersInclude/openpbrBlockNormalFinal\";\nimport \"./ShadersInclude/openpbrBaseLayerData\";\nimport \"./ShadersInclude/openpbrCoatLayerData\";\nimport \"./ShadersInclude/depthPrePass\";\nimport \"./ShadersInclude/openpbrEnvironmentLighting\";\nimport \"./ShadersInclude/openpbrDirectLightingInit\";\nimport \"./ShadersInclude/openpbrDirectLighting\";\nimport \"./ShadersInclude/logDepthFragment\";\nimport \"./ShadersInclude/fogFragment\";\nimport \"./ShadersInclude/pbrBlockImageProcessing\";\nimport \"./ShadersInclude/pbrBlockPrePass\";\nimport \"./ShadersInclude/oitFragment\";\nimport \"./ShadersInclude/pbrDebug\";\n\nconst name = \"openpbrPixelShader\";\nconst shader = `#define OPENPBR_FRAGMENT_SHADER\n#define CUSTOM_FRAGMENT_EXTENSION\n#if defined(GEOMETRY_NORMAL) || defined(GEOMETRY_COAT_NORMAL) || !defined(NORMAL) || defined(FORCENORMALFORWARD) || defined(SPECULARAA)\n#extension GL_OES_standard_derivatives : enable\n#endif\n#ifdef LODBASEDMICROSFURACE\n#extension GL_EXT_shader_texture_lod : enable\n#endif\n#define CUSTOM_FRAGMENT_BEGIN\n#ifdef LOGARITHMICDEPTH\n#extension GL_EXT_frag_depth : enable\n#endif\n#include<prePassDeclaration>[SCENE_MRT_COUNT]\nprecision highp float;\n#include<oitDeclaration>\n#ifndef FROMLINEARSPACE\n#define FROMLINEARSPACE\n#endif\n#include<__decl__openpbrFragment>\n#include<pbrFragmentExtraDeclaration>\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n#include<openpbrFragmentSamplersDeclaration>\n#include<imageProcessingDeclaration>\n#include<clipPlaneFragmentDeclaration>\n#include<logDepthDeclaration>\n#include<fogFragmentDeclaration>\n#include<helperFunctions>\n#include<subSurfaceScatteringFunctions>\n#include<importanceSampling>\n#include<pbrHelperFunctions>\n#include<imageProcessingFunctions>\n#include<shadowsFragmentFunctions>\n#include<harmonicsFunctions>\n#include<pbrDirectLightingSetupFunctions>\n#include<pbrDirectLightingFalloffFunctions>\n#include<pbrBRDFFunctions>\n#include<hdrFilteringFunctions>\n#include<pbrDirectLightingFunctions>\n#include<pbrIBLFunctions>\n#include<openpbrNormalMapFragmentMainFunctions>\n#include<openpbrNormalMapFragmentFunctions>\n#ifdef REFLECTION\n#include<reflectionFunction>\n#endif\n#define CUSTOM_FRAGMENT_DEFINITIONS\n#include<openpbrDielectricReflectance>\n#include<openpbrConductorReflectance>\n#include<openpbrBlockAmbientOcclusion>\n#include<openpbrGeometryInfo>\n#include<openpbrIblFunctions>\nvec3 layer(vec3 slab_bottom,vec3 slab_top,float lerp_factor,vec3 bottom_multiplier,vec3 top_multiplier) {return mix(slab_bottom*bottom_multiplier,slab_top*top_multiplier,lerp_factor);}\nvoid main(void) {\n#define CUSTOM_FRAGMENT_MAIN_BEGIN\n#include<clipPlaneFragment>\n#include<pbrBlockNormalGeometric>\nvec3 coatNormalW=normalW;\n#include<openpbrNormalMapFragment>\n#include<openpbrBlockNormalFinal>\n#include<openpbrBaseLayerData>\n#include<openpbrCoatLayerData>\nfloat subsurface_weight=0.0;float transmission_weight=0.0;float fuzz_weight=0.0;\n#define CUSTOM_FRAGMENT_UPDATE_ALPHA\n#include<depthPrePass>\n#define CUSTOM_FRAGMENT_BEFORE_LIGHTS\nambientOcclusionOutParams aoOut;\n#ifdef AMBIENT_OCCLUSION\nvec3 ambientOcclusionFromTexture=texture2D(ambientOcclusionSampler,vAmbientOcclusionUV+uvOffset).rgb;\n#endif\naoOut=ambientOcclusionBlock(\n#ifdef AMBIENT_OCCLUSION\nambientOcclusionFromTexture,\nvAmbientOcclusionInfos\n#endif\n);\n#ifdef ANISOTROPIC_COAT\ngeometryInfoAnisoOutParams coatGeoInfo=geometryInfoAniso(\ncoatNormalW,viewDirectionW.xyz,coat_roughness,geometricNormalW\n,vec3(geometry_coat_tangent.x,geometry_coat_tangent.y,coat_roughness_anisotropy),TBN\n);\n#else\ngeometryInfoOutParams coatGeoInfo=geometryInfo(\ncoatNormalW,viewDirectionW.xyz,coat_roughness,geometricNormalW\n);\n#endif\nspecular_roughness=mix(specular_roughness,pow(min(1.0,pow(specular_roughness,4.0)+2.0*pow(coat_roughness,4.0)),0.25),coat_weight);\n#ifdef ANISOTROPIC_BASE\ngeometryInfoAnisoOutParams baseGeoInfo=geometryInfoAniso(\nnormalW,viewDirectionW.xyz,specular_roughness,geometricNormalW\n,vec3(geometry_tangent.x,geometry_tangent.y,specular_roughness_anisotropy),TBN\n);\n#else\ngeometryInfoOutParams baseGeoInfo=geometryInfo(\nnormalW,viewDirectionW.xyz,specular_roughness,geometricNormalW\n);\n#endif\nReflectanceParams coatReflectance;coatReflectance=dielectricReflectance(\ncoat_ior \n,1.0 \n,vec3(1.0)\n,coat_weight\n);ReflectanceParams baseDielectricReflectance;{float effectiveCoatIor=mix(1.0,coat_ior,coat_weight);baseDielectricReflectance=dielectricReflectance(\nspecular_ior \n,effectiveCoatIor \n,specular_color\n,specular_weight\n);}\nReflectanceParams baseConductorReflectance;baseConductorReflectance=conductorReflectance(base_color,specular_color,specular_weight);vec3 material_surface_ibl=vec3(0.,0.,0.);\n#include<openpbrEnvironmentLighting>\nvec3 material_surface_direct=vec3(0.,0.,0.);\n#if defined(LIGHT0)\nfloat aggShadow=0.;float numLights=0.;\n#include<openpbrDirectLightingInit>[0..maxSimultaneousLights]\n#include<openpbrDirectLighting>[0..maxSimultaneousLights]\n#endif\nvec3 material_surface_emission=vEmissionColor;\n#ifdef EMISSION_COLOR\nvec3 emissionColorTex=texture2D(emissionColorSampler,vEmissionColorUV+uvOffset).rgb;\n#ifdef EMISSION_COLOR_GAMMA\nmaterial_surface_emission*=toLinearSpace(emissionColorTex.rgb);\n#else\nmaterial_surface_emission*=emissionColorTex.rgb;\n#endif\nmaterial_surface_emission*= vEmissionColorInfos.y;\n#endif\nmaterial_surface_emission*=vLightingIntensity.y;\n#define CUSTOM_FRAGMENT_BEFORE_FINALCOLORCOMPOSITION\nvec4 finalColor=vec4(material_surface_ibl+material_surface_direct+material_surface_emission,alpha);\n#define CUSTOM_FRAGMENT_BEFORE_FOG\nfinalColor=max(finalColor,0.0);\n#include<logDepthFragment>\n#include<fogFragment>(color,finalColor)\n#include<pbrBlockImageProcessing>\n#define CUSTOM_FRAGMENT_BEFORE_FRAGCOLOR\n#ifdef PREPASS\n#include<pbrBlockPrePass>\n#endif\n#if !defined(PREPASS) || defined(WEBGL2)\ngl_FragColor=finalColor;\n#endif\n#include<oitFragment>\n#if ORDER_INDEPENDENT_TRANSPARENCY\nif (fragDepth==nearestDepth) {frontColor.rgb+=finalColor.rgb*finalColor.a*alphaMultiplier;frontColor.a=1.0-alphaMultiplier*(1.0-finalColor.a);} else {backColor+=finalColor;}\n#endif\n#include<pbrDebug>\n#define CUSTOM_FRAGMENT_MAIN_END\n}\n`;\n// Sideeffect\nif (!ShaderStore.ShadersStore[name]) {\n ShaderStore.ShadersStore[name] = shader;\n}\n/** @internal */\nexport const openpbrPixelShader = { name, shader };\n"]}
@@ -0,0 +1,39 @@
1
+ import "./ShadersInclude/openpbrVertexDeclaration.js";
2
+ import "./ShadersInclude/openpbrUboDeclaration.js";
3
+ import "./ShadersInclude/uvAttributeDeclaration.js";
4
+ import "./ShadersInclude/mainUVVaryingDeclaration.js";
5
+ import "./ShadersInclude/helperFunctions.js";
6
+ import "./ShadersInclude/pbrBRDFFunctions.js";
7
+ import "./ShadersInclude/bonesDeclaration.js";
8
+ import "./ShadersInclude/bakedVertexAnimationDeclaration.js";
9
+ import "./ShadersInclude/instancesDeclaration.js";
10
+ import "./ShadersInclude/prePassVertexDeclaration.js";
11
+ import "./ShadersInclude/samplerVertexDeclaration.js";
12
+ import "./ShadersInclude/harmonicsFunctions.js";
13
+ import "./ShadersInclude/openpbrNormalMapVertexDeclaration.js";
14
+ import "./ShadersInclude/clipPlaneVertexDeclaration.js";
15
+ import "./ShadersInclude/fogVertexDeclaration.js";
16
+ import "./ShadersInclude/lightVxFragmentDeclaration.js";
17
+ import "./ShadersInclude/lightVxUboDeclaration.js";
18
+ import "./ShadersInclude/morphTargetsVertexGlobalDeclaration.js";
19
+ import "./ShadersInclude/morphTargetsVertexDeclaration.js";
20
+ import "./ShadersInclude/logDepthDeclaration.js";
21
+ import "./ShadersInclude/morphTargetsVertexGlobal.js";
22
+ import "./ShadersInclude/morphTargetsVertex.js";
23
+ import "./ShadersInclude/instancesVertex.js";
24
+ import "./ShadersInclude/bonesVertex.js";
25
+ import "./ShadersInclude/bakedVertexAnimation.js";
26
+ import "./ShadersInclude/prePassVertex.js";
27
+ import "./ShadersInclude/uvVariableDeclaration.js";
28
+ import "./ShadersInclude/samplerVertexImplementation.js";
29
+ import "./ShadersInclude/openpbrNormalMapVertex.js";
30
+ import "./ShadersInclude/clipPlaneVertex.js";
31
+ import "./ShadersInclude/fogVertex.js";
32
+ import "./ShadersInclude/shadowsVertex.js";
33
+ import "./ShadersInclude/vertexColorMixing.js";
34
+ import "./ShadersInclude/logDepthVertex.js";
35
+ /** @internal */
36
+ export declare const openpbrVertexShader: {
37
+ name: string;
38
+ shader: string;
39
+ };