@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.
- package/Shaders/ShadersInclude/openpbrBaseLayerData.d.ts +5 -0
- package/Shaders/ShadersInclude/openpbrBaseLayerData.js +127 -0
- package/Shaders/ShadersInclude/openpbrBaseLayerData.js.map +1 -0
- package/Shaders/ShadersInclude/openpbrBlockAmbientOcclusion.d.ts +5 -0
- package/Shaders/ShadersInclude/openpbrBlockAmbientOcclusion.js +35 -0
- package/Shaders/ShadersInclude/openpbrBlockAmbientOcclusion.js.map +1 -0
- package/Shaders/ShadersInclude/openpbrBlockNormalFinal.d.ts +5 -0
- package/Shaders/ShadersInclude/openpbrBlockNormalFinal.js +25 -0
- package/Shaders/ShadersInclude/openpbrBlockNormalFinal.js.map +1 -0
- package/Shaders/ShadersInclude/openpbrCoatLayerData.d.ts +5 -0
- package/Shaders/ShadersInclude/openpbrCoatLayerData.js +59 -0
- package/Shaders/ShadersInclude/openpbrCoatLayerData.js.map +1 -0
- package/Shaders/ShadersInclude/openpbrConductorReflectance.d.ts +5 -0
- package/Shaders/ShadersInclude/openpbrConductorReflectance.js +19 -0
- package/Shaders/ShadersInclude/openpbrConductorReflectance.js.map +1 -0
- package/Shaders/ShadersInclude/openpbrDielectricReflectance.d.ts +5 -0
- package/Shaders/ShadersInclude/openpbrDielectricReflectance.js +30 -0
- package/Shaders/ShadersInclude/openpbrDielectricReflectance.js.map +1 -0
- package/Shaders/ShadersInclude/openpbrDirectLighting.d.ts +5 -0
- package/Shaders/ShadersInclude/openpbrDirectLighting.js +69 -0
- package/Shaders/ShadersInclude/openpbrDirectLighting.js.map +1 -0
- package/Shaders/ShadersInclude/openpbrDirectLightingInit.d.ts +5 -0
- package/Shaders/ShadersInclude/openpbrDirectLightingInit.js +80 -0
- package/Shaders/ShadersInclude/openpbrDirectLightingInit.js.map +1 -0
- package/Shaders/ShadersInclude/openpbrDirectLightingShadow.d.ts +5 -0
- package/Shaders/ShadersInclude/openpbrDirectLightingShadow.js +129 -0
- package/Shaders/ShadersInclude/openpbrDirectLightingShadow.js.map +1 -0
- package/Shaders/ShadersInclude/openpbrEnvironmentLighting.d.ts +5 -0
- package/Shaders/ShadersInclude/openpbrEnvironmentLighting.js +106 -0
- package/Shaders/ShadersInclude/openpbrEnvironmentLighting.js.map +1 -0
- package/Shaders/ShadersInclude/openpbrFragmentDeclaration.d.ts +6 -0
- package/Shaders/ShadersInclude/openpbrFragmentDeclaration.js +115 -0
- package/Shaders/ShadersInclude/openpbrFragmentDeclaration.js.map +1 -0
- package/Shaders/ShadersInclude/openpbrFragmentSamplersDeclaration.d.ts +6 -0
- package/Shaders/ShadersInclude/openpbrFragmentSamplersDeclaration.js +72 -0
- package/Shaders/ShadersInclude/openpbrFragmentSamplersDeclaration.js.map +1 -0
- package/Shaders/ShadersInclude/openpbrGeometryInfo.d.ts +5 -0
- package/Shaders/ShadersInclude/openpbrGeometryInfo.js +46 -0
- package/Shaders/ShadersInclude/openpbrGeometryInfo.js.map +1 -0
- package/Shaders/ShadersInclude/openpbrIblFunctions.d.ts +5 -0
- package/Shaders/ShadersInclude/openpbrIblFunctions.js +221 -0
- package/Shaders/ShadersInclude/openpbrIblFunctions.js.map +1 -0
- package/Shaders/ShadersInclude/openpbrNormalMapFragment.d.ts +5 -0
- package/Shaders/ShadersInclude/openpbrNormalMapFragment.js +64 -0
- package/Shaders/ShadersInclude/openpbrNormalMapFragment.js.map +1 -0
- package/Shaders/ShadersInclude/openpbrNormalMapFragmentFunctions.d.ts +6 -0
- package/Shaders/ShadersInclude/openpbrNormalMapFragmentFunctions.js +45 -0
- package/Shaders/ShadersInclude/openpbrNormalMapFragmentFunctions.js.map +1 -0
- package/Shaders/ShadersInclude/openpbrNormalMapFragmentMainFunctions.d.ts +5 -0
- package/Shaders/ShadersInclude/openpbrNormalMapFragmentMainFunctions.js +72 -0
- package/Shaders/ShadersInclude/openpbrNormalMapFragmentMainFunctions.js.map +1 -0
- package/Shaders/ShadersInclude/openpbrNormalMapVertex.d.ts +5 -0
- package/Shaders/ShadersInclude/openpbrNormalMapVertex.js +16 -0
- package/Shaders/ShadersInclude/openpbrNormalMapVertex.js.map +1 -0
- package/Shaders/ShadersInclude/openpbrNormalMapVertexDeclaration.d.ts +5 -0
- package/Shaders/ShadersInclude/openpbrNormalMapVertexDeclaration.js +16 -0
- package/Shaders/ShadersInclude/openpbrNormalMapVertexDeclaration.js.map +1 -0
- package/Shaders/ShadersInclude/openpbrUboDeclaration.d.ts +7 -0
- package/Shaders/ShadersInclude/openpbrUboDeclaration.js +18 -0
- package/Shaders/ShadersInclude/openpbrUboDeclaration.js.map +1 -0
- package/Shaders/ShadersInclude/openpbrVertexDeclaration.d.ts +6 -0
- package/Shaders/ShadersInclude/openpbrVertexDeclaration.js +103 -0
- package/Shaders/ShadersInclude/openpbrVertexDeclaration.js.map +1 -0
- package/Shaders/openpbr.fragment.d.ts +54 -0
- package/Shaders/openpbr.fragment.js +206 -0
- package/Shaders/openpbr.fragment.js.map +1 -0
- package/Shaders/openpbr.vertex.d.ts +39 -0
- package/Shaders/openpbr.vertex.js +238 -0
- package/Shaders/openpbr.vertex.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/openpbrBaseLayerData.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/openpbrBaseLayerData.js +126 -0
- package/ShadersWGSL/ShadersInclude/openpbrBaseLayerData.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/openpbrBlockAmbientOcclusion.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/openpbrBlockAmbientOcclusion.js +36 -0
- package/ShadersWGSL/ShadersInclude/openpbrBlockAmbientOcclusion.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/openpbrBlockNormalFinal.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/openpbrBlockNormalFinal.js +25 -0
- package/ShadersWGSL/ShadersInclude/openpbrBlockNormalFinal.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/openpbrCoatLayerData.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/openpbrCoatLayerData.js +59 -0
- package/ShadersWGSL/ShadersInclude/openpbrCoatLayerData.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/openpbrConductorReflectance.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/openpbrConductorReflectance.js +19 -0
- package/ShadersWGSL/ShadersInclude/openpbrConductorReflectance.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/openpbrDielectricReflectance.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/openpbrDielectricReflectance.js +33 -0
- package/ShadersWGSL/ShadersInclude/openpbrDielectricReflectance.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/openpbrDirectLighting.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/openpbrDirectLighting.js +69 -0
- package/ShadersWGSL/ShadersInclude/openpbrDirectLighting.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/openpbrDirectLightingInit.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/openpbrDirectLightingInit.js +80 -0
- package/ShadersWGSL/ShadersInclude/openpbrDirectLightingInit.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/openpbrEnvironmentLighting.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/openpbrEnvironmentLighting.js +112 -0
- package/ShadersWGSL/ShadersInclude/openpbrEnvironmentLighting.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/openpbrFragmentSamplersDeclaration.d.ts +6 -0
- package/ShadersWGSL/ShadersInclude/openpbrFragmentSamplersDeclaration.js +68 -0
- package/ShadersWGSL/ShadersInclude/openpbrFragmentSamplersDeclaration.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/openpbrGeometryInfo.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/openpbrGeometryInfo.js +54 -0
- package/ShadersWGSL/ShadersInclude/openpbrGeometryInfo.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/openpbrIblFunctions.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/openpbrIblFunctions.js +218 -0
- package/ShadersWGSL/ShadersInclude/openpbrIblFunctions.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragment.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragment.js +64 -0
- package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragment.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragmentFunctions.d.ts +6 -0
- package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragmentFunctions.js +45 -0
- package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragmentFunctions.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragmentMainFunctions.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragmentMainFunctions.js +51 -0
- package/ShadersWGSL/ShadersInclude/openpbrNormalMapFragmentMainFunctions.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/openpbrNormalMapVertex.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/openpbrNormalMapVertex.js +16 -0
- package/ShadersWGSL/ShadersInclude/openpbrNormalMapVertex.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/openpbrNormalMapVertexDeclaration.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/openpbrNormalMapVertexDeclaration.js +16 -0
- package/ShadersWGSL/ShadersInclude/openpbrNormalMapVertexDeclaration.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/openpbrUboDeclaration.d.ts +7 -0
- package/ShadersWGSL/ShadersInclude/openpbrUboDeclaration.js +17 -0
- package/ShadersWGSL/ShadersInclude/openpbrUboDeclaration.js.map +1 -0
- package/ShadersWGSL/openpbr.fragment.d.ts +52 -0
- package/ShadersWGSL/openpbr.fragment.js +193 -0
- package/ShadersWGSL/openpbr.fragment.js.map +1 -0
- package/ShadersWGSL/openpbr.vertex.d.ts +37 -0
- package/ShadersWGSL/openpbr.vertex.js +227 -0
- package/ShadersWGSL/openpbr.vertex.js.map +1 -0
- 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
|
+
};
|