@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,193 @@
1
+ // Do not edit.
2
+ import { ShaderStore } from "../Engines/shaderStore.js";
3
+ import "./ShadersInclude/prePassDeclaration.js";
4
+ import "./ShadersInclude/oitDeclaration.js";
5
+ import "./ShadersInclude/openpbrUboDeclaration.js";
6
+ import "./ShadersInclude/pbrFragmentExtraDeclaration.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
+ const name = "openpbrPixelShader";
51
+ const shader = `#define OPENPBR_FRAGMENT_SHADER
52
+ #define CUSTOM_FRAGMENT_BEGIN
53
+ #include<prePassDeclaration>[SCENE_MRT_COUNT]
54
+ #include<oitDeclaration>
55
+ #ifndef FROMLINEARSPACE
56
+ #define FROMLINEARSPACE
57
+ #endif
58
+ #include<openpbrUboDeclaration>
59
+ #include<pbrFragmentExtraDeclaration>
60
+ #include<lightUboDeclaration>[0..maxSimultaneousLights]
61
+ #include<openpbrFragmentSamplersDeclaration>
62
+ #include<imageProcessingDeclaration>
63
+ #include<clipPlaneFragmentDeclaration>
64
+ #include<logDepthDeclaration>
65
+ #include<fogFragmentDeclaration>
66
+ #include<helperFunctions>
67
+ #include<subSurfaceScatteringFunctions>
68
+ #include<importanceSampling>
69
+ #include<pbrHelperFunctions>
70
+ #include<imageProcessingFunctions>
71
+ #include<shadowsFragmentFunctions>
72
+ #include<harmonicsFunctions>
73
+ #include<pbrDirectLightingSetupFunctions>
74
+ #include<pbrDirectLightingFalloffFunctions>
75
+ #include<pbrBRDFFunctions>
76
+ #include<hdrFilteringFunctions>
77
+ #include<pbrDirectLightingFunctions>
78
+ #include<pbrIBLFunctions>
79
+ #include<openpbrNormalMapFragmentMainFunctions>
80
+ #include<openpbrNormalMapFragmentFunctions>
81
+ #ifdef REFLECTION
82
+ #include<reflectionFunction>
83
+ #endif
84
+ #define CUSTOM_FRAGMENT_DEFINITIONS
85
+ #include<openpbrDielectricReflectance>
86
+ #include<openpbrConductorReflectance>
87
+ #include<openpbrBlockAmbientOcclusion>
88
+ #include<openpbrGeometryInfo>
89
+ #include<openpbrIblFunctions>
90
+ fn layer(slab_bottom: vec3f,slab_top: vec3f,lerp_factor: f32,bottom_multiplier: vec3f,top_multiplier: vec3f)->vec3f {return mix(slab_bottom*bottom_multiplier,slab_top*top_multiplier,lerp_factor);}
91
+ @fragment
92
+ fn main(input: FragmentInputs)->FragmentOutputs {
93
+ #define CUSTOM_FRAGMENT_MAIN_BEGIN
94
+ #include<clipPlaneFragment>
95
+ #include<pbrBlockNormalGeometric>
96
+ var coatNormalW: vec3f=normalW;
97
+ #include<openpbrNormalMapFragment>
98
+ #include<openpbrBlockNormalFinal>
99
+ #include<openpbrBaseLayerData>
100
+ #include<openpbrCoatLayerData>
101
+ var subsurface_weight: f32=0.0f;var transmission_weight: f32=0.0f;var fuzz_weight: f32=0.0f;
102
+ #define CUSTOM_FRAGMENT_UPDATE_ALPHA
103
+ #include<depthPrePass>
104
+ #define CUSTOM_FRAGMENT_BEFORE_LIGHTS
105
+ var aoOut: ambientOcclusionOutParams;
106
+ #ifdef AMBIENT_OCCLUSION
107
+ var ambientOcclusionFromTexture: vec3f=textureSample(ambientOcclusionSampler,ambientOcclusionSamplerSampler,fragmentInputs.vAmbientOcclusionUV+uvOffset).rgb;
108
+ #endif
109
+ aoOut=ambientOcclusionBlock(
110
+ #ifdef AMBIENT_OCCLUSION
111
+ ambientOcclusionFromTexture,
112
+ uniforms.vAmbientOcclusionInfos
113
+ #endif
114
+ );
115
+ #ifdef ANISOTROPIC_COAT
116
+ let coatGeoInfo: geometryInfoAnisoOutParams=geometryInfoAniso(
117
+ coatNormalW,viewDirectionW.xyz,coat_roughness,geometricNormalW
118
+ ,vec3f(geometry_coat_tangent.x,geometry_coat_tangent.y,coat_roughness_anisotropy),TBN
119
+ );
120
+ #else
121
+ let coatGeoInfo: geometryInfoOutParams=geometryInfo(
122
+ coatNormalW,viewDirectionW.xyz,coat_roughness,geometricNormalW
123
+ );
124
+ #endif
125
+ specular_roughness=mix(specular_roughness,pow(min(1.0f,pow(specular_roughness,4.0f)+2.0f*pow(coat_roughness,4.0f)),0.25f),coat_weight);
126
+ #ifdef ANISOTROPIC_BASE
127
+ let baseGeoInfo: geometryInfoAnisoOutParams=geometryInfoAniso(
128
+ normalW,viewDirectionW.xyz,specular_roughness,geometricNormalW
129
+ ,vec3f(geometry_tangent.x,geometry_tangent.y,specular_roughness_anisotropy),TBN
130
+ );
131
+ #else
132
+ let baseGeoInfo: geometryInfoOutParams=geometryInfo(
133
+ normalW,viewDirectionW.xyz,specular_roughness,geometricNormalW
134
+ );
135
+ #endif
136
+ let coatReflectance: ReflectanceParams=dielectricReflectance(
137
+ coat_ior
138
+ ,1.0f
139
+ ,vec3f(1.0f)
140
+ ,coat_weight
141
+ );let baseDielectricReflectance: ReflectanceParams=dielectricReflectance(
142
+ specular_ior
143
+ ,mix(1.0f,coat_ior,coat_weight)
144
+ ,specular_color
145
+ ,specular_weight
146
+ );let baseConductorReflectance: ReflectanceParams=conductorReflectance(base_color,specular_color,specular_weight);var material_surface_ibl: vec3f=vec3f(0.f,0.f,0.f);
147
+ #include<openpbrEnvironmentLighting>
148
+ var material_surface_direct: vec3f=vec3f(0.f,0.f,0.f);
149
+ #if defined(LIGHT0)
150
+ var aggShadow: f32=0.f;var numLights: f32=0.f;
151
+ #include<openpbrDirectLightingInit>[0..maxSimultaneousLights]
152
+ #include<openpbrDirectLighting>[0..maxSimultaneousLights]
153
+ #endif
154
+ var material_surface_emission: vec3f=uniforms.vEmissionColor;
155
+ #ifdef EMISSION_COLOR
156
+ let emissionColorTex: vec3f=textureSample(emissionColorSampler,emissionColorSamplerSampler,uniforms.vEmissionColorUV+uvOffset).rgb;
157
+ #ifdef EMISSION_COLOR_GAMMA
158
+ material_surface_emission*=toLinearSpace(emissionColorTex.rgb);
159
+ #else
160
+ material_surface_emission*=emissionColorTex.rgb;
161
+ #endif
162
+ material_surface_emission*= uniforms.vEmissionColorInfos.y;
163
+ #endif
164
+ material_surface_emission*=uniforms.vLightingIntensity.y;
165
+ #define CUSTOM_FRAGMENT_BEFORE_FINALCOLORCOMPOSITION
166
+ var finalColor: vec4f=vec4f(material_surface_ibl+material_surface_direct+material_surface_emission,alpha);
167
+ #define CUSTOM_FRAGMENT_BEFORE_FOG
168
+ finalColor=max(finalColor,vec4f(0.0));
169
+ #include<logDepthFragment>
170
+ #include<fogFragment>(color,finalColor)
171
+ #include<pbrBlockImageProcessing>
172
+ #define CUSTOM_FRAGMENT_BEFORE_FRAGCOLOR
173
+ #ifdef PREPASS
174
+ #include<pbrBlockPrePass>
175
+ #endif
176
+ #if !defined(PREPASS) && !defined(ORDER_INDEPENDENT_TRANSPARENCY)
177
+ fragmentOutputs.color=finalColor;
178
+ #endif
179
+ #include<oitFragment>
180
+ #if ORDER_INDEPENDENT_TRANSPARENCY
181
+ if (fragDepth==nearestDepth) {fragmentOutputs.frontColor=vec4f(fragmentOutputs.frontColor.rgb+finalColor.rgb*finalColor.a*alphaMultiplier,1.0-alphaMultiplier*(1.0-finalColor.a));} else {fragmentOutputs.backColor+=finalColor;}
182
+ #endif
183
+ #include<pbrDebug>
184
+ #define CUSTOM_FRAGMENT_MAIN_END
185
+ }
186
+ `;
187
+ // Sideeffect
188
+ if (!ShaderStore.ShadersStoreWGSL[name]) {
189
+ ShaderStore.ShadersStoreWGSL[name] = shader;
190
+ }
191
+ /** @internal */
192
+ export const openpbrPixelShaderWGSL = { name, shader };
193
+ //# sourceMappingURL=openpbr.fragment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openpbr.fragment.js","sourceRoot":"","sources":["../../../../dev/core/src/ShadersWGSL/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,wCAAwC,CAAC;AAChD,OAAO,8CAA8C,CAAC;AACtD,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuId,CAAC;AACF,aAAa;AACb,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;IACtC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAChD,CAAC;AACD,gBAAgB;AAChB,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"../Engines/shaderStore\";\nimport \"./ShadersInclude/prePassDeclaration\";\nimport \"./ShadersInclude/oitDeclaration\";\nimport \"./ShadersInclude/openpbrUboDeclaration\";\nimport \"./ShadersInclude/pbrFragmentExtraDeclaration\";\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_BEGIN\n#include<prePassDeclaration>[SCENE_MRT_COUNT]\n#include<oitDeclaration>\n#ifndef FROMLINEARSPACE\n#define FROMLINEARSPACE\n#endif\n#include<openpbrUboDeclaration>\n#include<pbrFragmentExtraDeclaration>\n#include<lightUboDeclaration>[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>\nfn layer(slab_bottom: vec3f,slab_top: vec3f,lerp_factor: f32,bottom_multiplier: vec3f,top_multiplier: vec3f)->vec3f {return mix(slab_bottom*bottom_multiplier,slab_top*top_multiplier,lerp_factor);}\n@fragment\nfn main(input: FragmentInputs)->FragmentOutputs {\n#define CUSTOM_FRAGMENT_MAIN_BEGIN\n#include<clipPlaneFragment>\n#include<pbrBlockNormalGeometric>\nvar coatNormalW: vec3f=normalW;\n#include<openpbrNormalMapFragment>\n#include<openpbrBlockNormalFinal>\n#include<openpbrBaseLayerData>\n#include<openpbrCoatLayerData>\nvar subsurface_weight: f32=0.0f;var transmission_weight: f32=0.0f;var fuzz_weight: f32=0.0f;\n#define CUSTOM_FRAGMENT_UPDATE_ALPHA\n#include<depthPrePass>\n#define CUSTOM_FRAGMENT_BEFORE_LIGHTS\nvar aoOut: ambientOcclusionOutParams;\n#ifdef AMBIENT_OCCLUSION\nvar ambientOcclusionFromTexture: vec3f=textureSample(ambientOcclusionSampler,ambientOcclusionSamplerSampler,fragmentInputs.vAmbientOcclusionUV+uvOffset).rgb;\n#endif\naoOut=ambientOcclusionBlock(\n#ifdef AMBIENT_OCCLUSION\nambientOcclusionFromTexture,\nuniforms.vAmbientOcclusionInfos\n#endif\n);\n#ifdef ANISOTROPIC_COAT\nlet coatGeoInfo: geometryInfoAnisoOutParams=geometryInfoAniso(\ncoatNormalW,viewDirectionW.xyz,coat_roughness,geometricNormalW\n,vec3f(geometry_coat_tangent.x,geometry_coat_tangent.y,coat_roughness_anisotropy),TBN\n);\n#else\nlet coatGeoInfo: geometryInfoOutParams=geometryInfo(\ncoatNormalW,viewDirectionW.xyz,coat_roughness,geometricNormalW\n);\n#endif\nspecular_roughness=mix(specular_roughness,pow(min(1.0f,pow(specular_roughness,4.0f)+2.0f*pow(coat_roughness,4.0f)),0.25f),coat_weight);\n#ifdef ANISOTROPIC_BASE\nlet baseGeoInfo: geometryInfoAnisoOutParams=geometryInfoAniso(\nnormalW,viewDirectionW.xyz,specular_roughness,geometricNormalW\n,vec3f(geometry_tangent.x,geometry_tangent.y,specular_roughness_anisotropy),TBN\n);\n#else\nlet baseGeoInfo: geometryInfoOutParams=geometryInfo(\nnormalW,viewDirectionW.xyz,specular_roughness,geometricNormalW\n);\n#endif\nlet coatReflectance: ReflectanceParams=dielectricReflectance(\ncoat_ior \n,1.0f \n,vec3f(1.0f)\n,coat_weight\n);let baseDielectricReflectance: ReflectanceParams=dielectricReflectance(\nspecular_ior \n,mix(1.0f,coat_ior,coat_weight) \n,specular_color\n,specular_weight\n);let baseConductorReflectance: ReflectanceParams=conductorReflectance(base_color,specular_color,specular_weight);var material_surface_ibl: vec3f=vec3f(0.f,0.f,0.f);\n#include<openpbrEnvironmentLighting>\nvar material_surface_direct: vec3f=vec3f(0.f,0.f,0.f);\n#if defined(LIGHT0)\nvar aggShadow: f32=0.f;var numLights: f32=0.f;\n#include<openpbrDirectLightingInit>[0..maxSimultaneousLights]\n#include<openpbrDirectLighting>[0..maxSimultaneousLights]\n#endif\nvar material_surface_emission: vec3f=uniforms.vEmissionColor;\n#ifdef EMISSION_COLOR\nlet emissionColorTex: vec3f=textureSample(emissionColorSampler,emissionColorSamplerSampler,uniforms.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*= uniforms.vEmissionColorInfos.y;\n#endif\nmaterial_surface_emission*=uniforms.vLightingIntensity.y;\n#define CUSTOM_FRAGMENT_BEFORE_FINALCOLORCOMPOSITION\nvar finalColor: vec4f=vec4f(material_surface_ibl+material_surface_direct+material_surface_emission,alpha);\n#define CUSTOM_FRAGMENT_BEFORE_FOG\nfinalColor=max(finalColor,vec4f(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(ORDER_INDEPENDENT_TRANSPARENCY)\nfragmentOutputs.color=finalColor;\n#endif\n#include<oitFragment>\n#if ORDER_INDEPENDENT_TRANSPARENCY\nif (fragDepth==nearestDepth) {fragmentOutputs.frontColor=vec4f(fragmentOutputs.frontColor.rgb+finalColor.rgb*finalColor.a*alphaMultiplier,1.0-alphaMultiplier*(1.0-finalColor.a));} else {fragmentOutputs.backColor+=finalColor;}\n#endif\n#include<pbrDebug>\n#define CUSTOM_FRAGMENT_MAIN_END\n}\n`;\n// Sideeffect\nif (!ShaderStore.ShadersStoreWGSL[name]) {\n ShaderStore.ShadersStoreWGSL[name] = shader;\n}\n/** @internal */\nexport const openpbrPixelShaderWGSL = { name, shader };\n"]}
@@ -0,0 +1,37 @@
1
+ import "./ShadersInclude/openpbrUboDeclaration.js";
2
+ import "./ShadersInclude/uvAttributeDeclaration.js";
3
+ import "./ShadersInclude/mainUVVaryingDeclaration.js";
4
+ import "./ShadersInclude/helperFunctions.js";
5
+ import "./ShadersInclude/pbrBRDFFunctions.js";
6
+ import "./ShadersInclude/bonesDeclaration.js";
7
+ import "./ShadersInclude/bakedVertexAnimationDeclaration.js";
8
+ import "./ShadersInclude/instancesDeclaration.js";
9
+ import "./ShadersInclude/prePassVertexDeclaration.js";
10
+ import "./ShadersInclude/samplerVertexDeclaration.js";
11
+ import "./ShadersInclude/harmonicsFunctions.js";
12
+ import "./ShadersInclude/openpbrNormalMapVertexDeclaration.js";
13
+ import "./ShadersInclude/clipPlaneVertexDeclaration.js";
14
+ import "./ShadersInclude/fogVertexDeclaration.js";
15
+ import "./ShadersInclude/lightVxUboDeclaration.js";
16
+ import "./ShadersInclude/morphTargetsVertexGlobalDeclaration.js";
17
+ import "./ShadersInclude/morphTargetsVertexDeclaration.js";
18
+ import "./ShadersInclude/logDepthDeclaration.js";
19
+ import "./ShadersInclude/morphTargetsVertexGlobal.js";
20
+ import "./ShadersInclude/morphTargetsVertex.js";
21
+ import "./ShadersInclude/instancesVertex.js";
22
+ import "./ShadersInclude/bonesVertex.js";
23
+ import "./ShadersInclude/bakedVertexAnimation.js";
24
+ import "./ShadersInclude/prePassVertex.js";
25
+ import "./ShadersInclude/uvVariableDeclaration.js";
26
+ import "./ShadersInclude/samplerVertexImplementation.js";
27
+ import "./ShadersInclude/openpbrNormalMapVertex.js";
28
+ import "./ShadersInclude/clipPlaneVertex.js";
29
+ import "./ShadersInclude/fogVertex.js";
30
+ import "./ShadersInclude/shadowsVertex.js";
31
+ import "./ShadersInclude/vertexColorMixing.js";
32
+ import "./ShadersInclude/logDepthVertex.js";
33
+ /** @internal */
34
+ export declare const openpbrVertexShaderWGSL: {
35
+ name: string;
36
+ shader: string;
37
+ };
@@ -0,0 +1,227 @@
1
+ // Do not edit.
2
+ import { ShaderStore } from "../Engines/shaderStore.js";
3
+ import "./ShadersInclude/openpbrUboDeclaration.js";
4
+ import "./ShadersInclude/uvAttributeDeclaration.js";
5
+ import "./ShadersInclude/mainUVVaryingDeclaration.js";
6
+ import "./ShadersInclude/helperFunctions.js";
7
+ import "./ShadersInclude/pbrBRDFFunctions.js";
8
+ import "./ShadersInclude/bonesDeclaration.js";
9
+ import "./ShadersInclude/bakedVertexAnimationDeclaration.js";
10
+ import "./ShadersInclude/instancesDeclaration.js";
11
+ import "./ShadersInclude/prePassVertexDeclaration.js";
12
+ import "./ShadersInclude/samplerVertexDeclaration.js";
13
+ import "./ShadersInclude/harmonicsFunctions.js";
14
+ import "./ShadersInclude/openpbrNormalMapVertexDeclaration.js";
15
+ import "./ShadersInclude/clipPlaneVertexDeclaration.js";
16
+ import "./ShadersInclude/fogVertexDeclaration.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
+ const name = "openpbrVertexShader";
36
+ const shader = `#define OPENPBR_VERTEX_SHADER
37
+ #include<openpbrUboDeclaration>
38
+ #define CUSTOM_VERTEX_BEGIN
39
+ attribute position: vec3f;
40
+ #ifdef NORMAL
41
+ attribute normal: vec3f;
42
+ #endif
43
+ #ifdef TANGENT
44
+ attribute tangent: vec4f;
45
+ #endif
46
+ #ifdef UV1
47
+ attribute uv: vec2f;
48
+ #endif
49
+ #include<uvAttributeDeclaration>[2..7]
50
+ #include<mainUVVaryingDeclaration>[1..7]
51
+ #ifdef VERTEXCOLOR
52
+ attribute color: vec4f;
53
+ #endif
54
+ #include<helperFunctions>
55
+ #include<pbrBRDFFunctions>
56
+ #include<bonesDeclaration>
57
+ #include<bakedVertexAnimationDeclaration>
58
+ #include<instancesDeclaration>
59
+ #include<prePassVertexDeclaration>
60
+ #include<samplerVertexDeclaration>(_DEFINENAME_,BASE_COLOR,_VARYINGNAME_,Albedo)
61
+ #include<samplerVertexDeclaration>(_DEFINENAME_,BASE_WEIGHT,_VARYINGNAME_,BaseWeight)
62
+ #include<samplerVertexDeclaration>(_DEFINENAME_,BASE_DIFFUSE_ROUGHNESS,_VARYINGNAME_,BaseDiffuseRoughness)
63
+ #include<samplerVertexDeclaration>(_DEFINENAME_,BASE_METALNESS,_VARYINGNAME_,BaseMetalness)
64
+ #include<samplerVertexDeclaration>(_DEFINENAME_,SPECULAR_WEIGHT,_VARYINGNAME_,SpecularWeight)
65
+ #include<samplerVertexDeclaration>(_DEFINENAME_,SPECULAR_COLOR,_VARYINGNAME_,SpecularColor)
66
+ #include<samplerVertexDeclaration>(_DEFINENAME_,SPECULAR_ROUGHNESS,_VARYINGNAME_,SpecularRoughness)
67
+ #include<samplerVertexDeclaration>(_DEFINENAME_,SPECULAR_ROUGHNESS_ANISOTROPY,_VARYINGNAME_,SpecularRoughnessAnisotropy)
68
+ #include<samplerVertexDeclaration>(_DEFINENAME_,COAT_WEIGHT,_VARYINGNAME_,CoatWeight)
69
+ #include<samplerVertexDeclaration>(_DEFINENAME_,COAT_COLOR,_VARYINGNAME_,CoatColor)
70
+ #include<samplerVertexDeclaration>(_DEFINENAME_,COAT_ROUGHNESS,_VARYINGNAME_,CoatRoughness)
71
+ #include<samplerVertexDeclaration>(_DEFINENAME_,COAT_ROUGHNESS_ANISOTROPY,_VARYINGNAME_,CoatRoughnessAnisotropy)
72
+ #include<samplerVertexDeclaration>(_DEFINENAME_,COAT_DARKENING,_VARYINGNAME_,CoatDarkening)
73
+ #include<samplerVertexDeclaration>(_DEFINENAME_,GEOMETRY_NORMAL,_VARYINGNAME_,GeometryNormal)
74
+ #include<samplerVertexDeclaration>(_DEFINENAME_,GEOMETRY_TANGENT,_VARYINGNAME_,GeometryTangent)
75
+ #include<samplerVertexDeclaration>(_DEFINENAME_,GEOMETRY_COAT_NORMAL,_VARYINGNAME_,GeometryCoatNormal)
76
+ #include<samplerVertexDeclaration>(_DEFINENAME_,GEOMETRY_OPACITY,_VARYINGNAME_,GeometryOpacity)
77
+ #include<samplerVertexDeclaration>(_DEFINENAME_,EMISSION_COLOR,_VARYINGNAME_,EmissionColor)
78
+ #include<samplerVertexDeclaration>(_DEFINENAME_,AMBIENT_OCCLUSION,_VARYINGNAME_,AmbientOcclusion)
79
+ #include<samplerVertexDeclaration>(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal)
80
+ #include<samplerVertexDeclaration>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail)
81
+ varying vPositionW: vec3f;
82
+ #if DEBUGMODE>0
83
+ varying vClipSpacePosition: vec4f;
84
+ #endif
85
+ #ifdef NORMAL
86
+ varying vNormalW: vec3f;
87
+ #if defined(USESPHERICALFROMREFLECTIONMAP) && defined(USESPHERICALINVERTEX)
88
+ varying vEnvironmentIrradiance: vec3f;
89
+ #include<harmonicsFunctions>
90
+ #endif
91
+ #endif
92
+ #if defined(VERTEXCOLOR) || defined(INSTANCESCOLOR) && defined(INSTANCES)
93
+ varying vColor: vec4f;
94
+ #endif
95
+ #include<openpbrNormalMapVertexDeclaration>
96
+ #include<clipPlaneVertexDeclaration>
97
+ #include<fogVertexDeclaration>
98
+ #include<lightVxUboDeclaration>[0..maxSimultaneousLights]
99
+ #include<morphTargetsVertexGlobalDeclaration>
100
+ #include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]
101
+ #ifdef REFLECTIONMAP_SKYBOX
102
+ varying vPositionUVW: vec3f;
103
+ #endif
104
+ #if defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED) || defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)
105
+ varying vDirectionW: vec3f;
106
+ #endif
107
+ #include<logDepthDeclaration>
108
+ #define CUSTOM_VERTEX_DEFINITIONS
109
+ @vertex
110
+ fn main(input : VertexInputs)->FragmentInputs {
111
+ #define CUSTOM_VERTEX_MAIN_BEGIN
112
+ var positionUpdated: vec3f=vertexInputs.position;
113
+ #ifdef NORMAL
114
+ var normalUpdated: vec3f=vertexInputs.normal;
115
+ #endif
116
+ #ifdef TANGENT
117
+ var tangentUpdated: vec4f=vertexInputs.tangent;
118
+ #endif
119
+ #ifdef UV1
120
+ var uvUpdated: vec2f=vertexInputs.uv;
121
+ #endif
122
+ #ifdef UV2
123
+ var uv2Updated: vec2f=vertexInputs.uv2;
124
+ #endif
125
+ #ifdef VERTEXCOLOR
126
+ var colorUpdated: vec4f=vertexInputs.color;
127
+ #endif
128
+ #include<morphTargetsVertexGlobal>
129
+ #include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]
130
+ #ifdef REFLECTIONMAP_SKYBOX
131
+ vertexOutputs.vPositionUVW=positionUpdated;
132
+ #endif
133
+ #define CUSTOM_VERTEX_UPDATE_POSITION
134
+ #define CUSTOM_VERTEX_UPDATE_NORMAL
135
+ #include<instancesVertex>
136
+ #if defined(PREPASS) && ((defined(PREPASS_VELOCITY) || defined(PREPASS_VELOCITY_LINEAR)) && !defined(BONES_VELOCITY_ENABLED)
137
+ vertexOutputs.vCurrentPosition=scene.viewProjection*finalWorld*vec4f(positionUpdated,1.0);vertexOutputs.vPreviousPosition=uniforms.previousViewProjection*finalPreviousWorld*vec4f(positionUpdated,1.0);
138
+ #endif
139
+ #include<bonesVertex>
140
+ #include<bakedVertexAnimation>
141
+ var worldPos: vec4f=finalWorld* vec4f(positionUpdated,1.0);vertexOutputs.vPositionW= worldPos.xyz;
142
+ #ifdef PREPASS
143
+ #include<prePassVertex>
144
+ #endif
145
+ #ifdef NORMAL
146
+ var normalWorld: mat3x3f= mat3x3f(finalWorld[0].xyz,finalWorld[1].xyz,finalWorld[2].xyz);
147
+ #if defined(INSTANCES) && defined(THIN_INSTANCES)
148
+ vertexOutputs.vNormalW=normalUpdated/ vec3f(dot(normalWorld[0],normalWorld[0]),dot(normalWorld[1],normalWorld[1]),dot(normalWorld[2],normalWorld[2]));vertexOutputs.vNormalW=normalize(normalWorld*vertexOutputs.vNormalW);
149
+ #else
150
+ #ifdef NONUNIFORMSCALING
151
+ normalWorld=transposeMat3(inverseMat3(normalWorld));
152
+ #endif
153
+ vertexOutputs.vNormalW=normalize(normalWorld*normalUpdated);
154
+ #endif
155
+ #if defined(USESPHERICALFROMREFLECTIONMAP) && defined(USESPHERICALINVERTEX)
156
+ #if BASE_DIFFUSE_MODEL != BRDF_DIFFUSE_MODEL_LAMBERT && BASE_DIFFUSE_MODEL != BRDF_DIFFUSE_MODEL_LEGACY
157
+ var viewDirectionW: vec3f=normalize(scene.vEyePosition.xyz-vertexOutputs.vPositionW);var NdotV: f32=max(dot(vertexOutputs.vNormalW,viewDirectionW),0.0);var roughNormal: vec3f=mix(vertexOutputs.vNormalW,viewDirectionW,(0.5*(1.0-NdotV))*uniforms.vBaseDiffuseRoughness);var reflectionVector: vec3f= (uniforms.reflectionMatrix* vec4f(roughNormal,0)).xyz;
158
+ #else
159
+ var reflectionVector: vec3f= (uniforms.reflectionMatrix* vec4f(vertexOutputs.vNormalW,0)).xyz;
160
+ #endif
161
+ #ifdef REFLECTIONMAP_OPPOSITEZ
162
+ reflectionVector.z*=-1.0;
163
+ #endif
164
+ vertexOutputs.vEnvironmentIrradiance=computeEnvironmentIrradiance(reflectionVector);
165
+ #endif
166
+ #endif
167
+ #define CUSTOM_VERTEX_UPDATE_WORLDPOS
168
+ #ifdef MULTIVIEW
169
+ if (gl_ViewID_OVR==0u) {vertexOutputs.position=scene.viewProjection*worldPos;} else {vertexOutputs.position=scene.viewProjectionR*worldPos;}
170
+ #else
171
+ vertexOutputs.position=scene.viewProjection*worldPos;
172
+ #endif
173
+ #if DEBUGMODE>0
174
+ vertexOutputs.vClipSpacePosition=vertexOutputs.position;
175
+ #endif
176
+ #if defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED) || defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)
177
+ vertexOutputs.vDirectionW=normalize((finalWorld*vec4f(positionUpdated,0.0)).xyz);
178
+ #endif
179
+ #ifndef UV1
180
+ var uvUpdated: vec2f= vec2f(0.,0.);
181
+ #endif
182
+ #ifdef MAINUV1
183
+ vertexOutputs.vMainUV1=uvUpdated;
184
+ #endif
185
+ #ifndef UV2
186
+ var uv2Updated: vec2f= vec2f(0.,0.);
187
+ #endif
188
+ #ifdef MAINUV2
189
+ vertexOutputs.vMainUV2=uv2Updated;
190
+ #endif
191
+ #include<uvVariableDeclaration>[3..7]
192
+ #include<samplerVertexImplementation>(_DEFINENAME_,BASE_COLOR,_VARYINGNAME_,BaseColor,_MATRIXNAME_,baseColor,_INFONAME_,BaseColorInfos.x)
193
+ #include<samplerVertexImplementation>(_DEFINENAME_,BASE_WEIGHT,_VARYINGNAME_,BaseWeight,_MATRIXNAME_,baseWeight,_INFONAME_,BaseWeightInfos.x)
194
+ #include<samplerVertexImplementation>(_DEFINENAME_,BASE_DIFFUSE_ROUGHNESS,_VARYINGNAME_,BaseDiffuseRoughness,_MATRIXNAME_,baseDiffuseRoughness,_INFONAME_,BaseDiffuseRoughnessInfos.x)
195
+ #include<samplerVertexImplementation>(_DEFINENAME_,BASE_METALNESS,_VARYINGNAME_,BaseMetalness,_MATRIXNAME_,baseMetalness,_INFONAME_,BaseMetalnessInfos.x)
196
+ #include<samplerVertexImplementation>(_DEFINENAME_,SPECULAR_WEIGHT,_VARYINGNAME_,SpecularWeight,_MATRIXNAME_,specularWeight,_INFONAME_,SpecularWeightInfos.x)
197
+ #include<samplerVertexImplementation>(_DEFINENAME_,SPECULAR_COLOR,_VARYINGNAME_,SpecularColor,_MATRIXNAME_,specularColor,_INFONAME_,SpecularColorInfos.x)
198
+ #include<samplerVertexImplementation>(_DEFINENAME_,SPECULAR_ROUGHNESS,_VARYINGNAME_,SpecularRoughness,_MATRIXNAME_,specularRoughness,_INFONAME_,SpecularRoughnessInfos.x)
199
+ #include<samplerVertexImplementation>(_DEFINENAME_,SPECULAR_ROUGHNESS_ANISOTROPY,_VARYINGNAME_,SpecularRoughnessAnisotropy,_MATRIXNAME_,specularRoughnessAnisotropy,_INFONAME_,SpecularRoughnessAnisotropyInfos.x)
200
+ #include<samplerVertexImplementation>(_DEFINENAME_,COAT_WEIGHT,_VARYINGNAME_,CoatWeight,_MATRIXNAME_,coatWeight,_INFONAME_,CoatWeightInfos.x)
201
+ #include<samplerVertexImplementation>(_DEFINENAME_,COAT_COLOR,_VARYNAME_,CoatColor,_MATRIXNAME_,coatColor,_INFONAME_,CoatColorInfos.x)
202
+ #include<samplerVertexImplementation>(_DEFINENAME_,COAT_ROUGHNESS,_VARYINGNAME_,CoatRoughness,_MATRIXNAME_,coatRoughness,_INFONAME_,CoatRoughnessInfos.x)
203
+ #include<samplerVertexImplementation>(_DEFINENAME_,COAT_ROUGHNESS_ANISOTROPY,_VARYINGNAME_,CoatRoughnessAnisotropy,_MATRIXNAME_,coatRoughnessAnisotropy,_INFONAME_,CoatRoughnessAnisotropyInfos.x)
204
+ #include<samplerVertexImplementation>(_DEFINENAME_,COAT_DARKENING,_VARYINGNAME_,CoatDarkening,_MATRIXNAME_,coatDarkening,_INFONAME_,CoatDarkeningInfos.x)
205
+ #include<samplerVertexImplementation>(_DEFINENAME_,GEOMETRY_NORMAL,_VARYINGNAME_,GeometryNormal,_MATRIXNAME_,geometryNormal,_INFONAME_,GeometryNormalInfos.x)
206
+ #include<samplerVertexImplementation>(_DEFINENAME_,GEOMETRY_TANGENT,_VARYINGNAME_,GeometryTangent,_MATRIXNAME_,geometryTangent,_INFONAME_,GeometryTangentInfos.x)
207
+ #include<samplerVertexImplementation>(_DEFINENAME_,GEOMETRY_COAT_NORMAL,_VARYINGNAME_,GeometryCoatNormal,_MATRIXNAME_,geometryCoatNormal,_INFONAME_,GeometryCoatNormalInfos.x)
208
+ #include<samplerVertexImplementation>(_DEFINENAME_,GEOMETRY_OPACITY,_VARYINGNAME_,GeometryOpacity,_MATRIXNAME_,geometryOpacity,_INFONAME_,GeometryOpacityInfos.x)
209
+ #include<samplerVertexImplementation>(_DEFINENAME_,EMISSION_COLOR,_VARYINGNAME_,EmissionColor,_MATRIXNAME_,emissionColor,_INFONAME_,EmissionColorInfos.x)
210
+ #include<samplerVertexImplementation>(_DEFINENAME_,AMBIENT_OCCLUSION,_VARYINGNAME_,AmbientOcclusion,_MATRIXNAME_,ambientOcclusion,_INFONAME_,AmbientOcclusionInfos.x)
211
+ #include<samplerVertexImplementation>(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal,_MATRIXNAME_,decal,_INFONAME_,DecalInfos.x)
212
+ #include<samplerVertexImplementation>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail,_MATRIXNAME_,detail,_INFONAME_,DetailInfos.x)
213
+ #include<openpbrNormalMapVertex>
214
+ #include<clipPlaneVertex>
215
+ #include<fogVertex>
216
+ #include<shadowsVertex>[0..maxSimultaneousLights]
217
+ #include<vertexColorMixing>
218
+ #include<logDepthVertex>
219
+ #define CUSTOM_VERTEX_MAIN_END
220
+ }`;
221
+ // Sideeffect
222
+ if (!ShaderStore.ShadersStoreWGSL[name]) {
223
+ ShaderStore.ShadersStoreWGSL[name] = shader;
224
+ }
225
+ /** @internal */
226
+ export const openpbrVertexShaderWGSL = { name, shader };
227
+ //# sourceMappingURL=openpbr.vertex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openpbr.vertex.js","sourceRoot":"","sources":["../../../../dev/core/src/ShadersWGSL/openpbr.vertex.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,wCAAwC,CAAC;AAChD,OAAO,yCAAyC,CAAC;AACjD,OAAO,2CAA2C,CAAC;AACnD,OAAO,kCAAkC,CAAC;AAC1C,OAAO,mCAAmC,CAAC;AAC3C,OAAO,mCAAmC,CAAC;AAC3C,OAAO,kDAAkD,CAAC;AAC1D,OAAO,uCAAuC,CAAC;AAC/C,OAAO,2CAA2C,CAAC;AACnD,OAAO,2CAA2C,CAAC;AACnD,OAAO,qCAAqC,CAAC;AAC7C,OAAO,oDAAoD,CAAC;AAC5D,OAAO,6CAA6C,CAAC;AACrD,OAAO,uCAAuC,CAAC;AAC/C,OAAO,wCAAwC,CAAC;AAChD,OAAO,sDAAsD,CAAC;AAC9D,OAAO,gDAAgD,CAAC;AACxD,OAAO,sCAAsC,CAAC;AAC9C,OAAO,2CAA2C,CAAC;AACnD,OAAO,qCAAqC,CAAC;AAC7C,OAAO,kCAAkC,CAAC;AAC1C,OAAO,8BAA8B,CAAC;AACtC,OAAO,uCAAuC,CAAC;AAC/C,OAAO,gCAAgC,CAAC;AACxC,OAAO,wCAAwC,CAAC;AAChD,OAAO,8CAA8C,CAAC;AACtD,OAAO,yCAAyC,CAAC;AACjD,OAAO,kCAAkC,CAAC;AAC1C,OAAO,4BAA4B,CAAC;AACpC,OAAO,gCAAgC,CAAC;AACxC,OAAO,oCAAoC,CAAC;AAC5C,OAAO,iCAAiC,CAAC;AAEzC,MAAM,IAAI,GAAG,qBAAqB,CAAC;AACnC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwLb,CAAC;AACH,aAAa;AACb,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;IACtC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAChD,CAAC;AACD,gBAAgB;AAChB,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"../Engines/shaderStore\";\nimport \"./ShadersInclude/openpbrUboDeclaration\";\nimport \"./ShadersInclude/uvAttributeDeclaration\";\nimport \"./ShadersInclude/mainUVVaryingDeclaration\";\nimport \"./ShadersInclude/helperFunctions\";\nimport \"./ShadersInclude/pbrBRDFFunctions\";\nimport \"./ShadersInclude/bonesDeclaration\";\nimport \"./ShadersInclude/bakedVertexAnimationDeclaration\";\nimport \"./ShadersInclude/instancesDeclaration\";\nimport \"./ShadersInclude/prePassVertexDeclaration\";\nimport \"./ShadersInclude/samplerVertexDeclaration\";\nimport \"./ShadersInclude/harmonicsFunctions\";\nimport \"./ShadersInclude/openpbrNormalMapVertexDeclaration\";\nimport \"./ShadersInclude/clipPlaneVertexDeclaration\";\nimport \"./ShadersInclude/fogVertexDeclaration\";\nimport \"./ShadersInclude/lightVxUboDeclaration\";\nimport \"./ShadersInclude/morphTargetsVertexGlobalDeclaration\";\nimport \"./ShadersInclude/morphTargetsVertexDeclaration\";\nimport \"./ShadersInclude/logDepthDeclaration\";\nimport \"./ShadersInclude/morphTargetsVertexGlobal\";\nimport \"./ShadersInclude/morphTargetsVertex\";\nimport \"./ShadersInclude/instancesVertex\";\nimport \"./ShadersInclude/bonesVertex\";\nimport \"./ShadersInclude/bakedVertexAnimation\";\nimport \"./ShadersInclude/prePassVertex\";\nimport \"./ShadersInclude/uvVariableDeclaration\";\nimport \"./ShadersInclude/samplerVertexImplementation\";\nimport \"./ShadersInclude/openpbrNormalMapVertex\";\nimport \"./ShadersInclude/clipPlaneVertex\";\nimport \"./ShadersInclude/fogVertex\";\nimport \"./ShadersInclude/shadowsVertex\";\nimport \"./ShadersInclude/vertexColorMixing\";\nimport \"./ShadersInclude/logDepthVertex\";\n\nconst name = \"openpbrVertexShader\";\nconst shader = `#define OPENPBR_VERTEX_SHADER\n#include<openpbrUboDeclaration>\n#define CUSTOM_VERTEX_BEGIN\nattribute position: vec3f;\n#ifdef NORMAL\nattribute normal: vec3f;\n#endif\n#ifdef TANGENT\nattribute tangent: vec4f;\n#endif\n#ifdef UV1\nattribute uv: vec2f;\n#endif\n#include<uvAttributeDeclaration>[2..7]\n#include<mainUVVaryingDeclaration>[1..7]\n#ifdef VERTEXCOLOR\nattribute color: vec4f;\n#endif\n#include<helperFunctions>\n#include<pbrBRDFFunctions>\n#include<bonesDeclaration>\n#include<bakedVertexAnimationDeclaration>\n#include<instancesDeclaration>\n#include<prePassVertexDeclaration>\n#include<samplerVertexDeclaration>(_DEFINENAME_,BASE_COLOR,_VARYINGNAME_,Albedo)\n#include<samplerVertexDeclaration>(_DEFINENAME_,BASE_WEIGHT,_VARYINGNAME_,BaseWeight)\n#include<samplerVertexDeclaration>(_DEFINENAME_,BASE_DIFFUSE_ROUGHNESS,_VARYINGNAME_,BaseDiffuseRoughness)\n#include<samplerVertexDeclaration>(_DEFINENAME_,BASE_METALNESS,_VARYINGNAME_,BaseMetalness)\n#include<samplerVertexDeclaration>(_DEFINENAME_,SPECULAR_WEIGHT,_VARYINGNAME_,SpecularWeight)\n#include<samplerVertexDeclaration>(_DEFINENAME_,SPECULAR_COLOR,_VARYINGNAME_,SpecularColor)\n#include<samplerVertexDeclaration>(_DEFINENAME_,SPECULAR_ROUGHNESS,_VARYINGNAME_,SpecularRoughness)\n#include<samplerVertexDeclaration>(_DEFINENAME_,SPECULAR_ROUGHNESS_ANISOTROPY,_VARYINGNAME_,SpecularRoughnessAnisotropy)\n#include<samplerVertexDeclaration>(_DEFINENAME_,COAT_WEIGHT,_VARYINGNAME_,CoatWeight)\n#include<samplerVertexDeclaration>(_DEFINENAME_,COAT_COLOR,_VARYINGNAME_,CoatColor)\n#include<samplerVertexDeclaration>(_DEFINENAME_,COAT_ROUGHNESS,_VARYINGNAME_,CoatRoughness)\n#include<samplerVertexDeclaration>(_DEFINENAME_,COAT_ROUGHNESS_ANISOTROPY,_VARYINGNAME_,CoatRoughnessAnisotropy)\n#include<samplerVertexDeclaration>(_DEFINENAME_,COAT_DARKENING,_VARYINGNAME_,CoatDarkening)\n#include<samplerVertexDeclaration>(_DEFINENAME_,GEOMETRY_NORMAL,_VARYINGNAME_,GeometryNormal)\n#include<samplerVertexDeclaration>(_DEFINENAME_,GEOMETRY_TANGENT,_VARYINGNAME_,GeometryTangent)\n#include<samplerVertexDeclaration>(_DEFINENAME_,GEOMETRY_COAT_NORMAL,_VARYINGNAME_,GeometryCoatNormal)\n#include<samplerVertexDeclaration>(_DEFINENAME_,GEOMETRY_OPACITY,_VARYINGNAME_,GeometryOpacity)\n#include<samplerVertexDeclaration>(_DEFINENAME_,EMISSION_COLOR,_VARYINGNAME_,EmissionColor)\n#include<samplerVertexDeclaration>(_DEFINENAME_,AMBIENT_OCCLUSION,_VARYINGNAME_,AmbientOcclusion)\n#include<samplerVertexDeclaration>(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal)\n#include<samplerVertexDeclaration>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail)\nvarying vPositionW: vec3f;\n#if DEBUGMODE>0\nvarying vClipSpacePosition: vec4f;\n#endif\n#ifdef NORMAL\nvarying vNormalW: vec3f;\n#if defined(USESPHERICALFROMREFLECTIONMAP) && defined(USESPHERICALINVERTEX)\nvarying vEnvironmentIrradiance: vec3f;\n#include<harmonicsFunctions>\n#endif\n#endif\n#if defined(VERTEXCOLOR) || defined(INSTANCESCOLOR) && defined(INSTANCES)\nvarying vColor: vec4f;\n#endif\n#include<openpbrNormalMapVertexDeclaration>\n#include<clipPlaneVertexDeclaration>\n#include<fogVertexDeclaration>\n#include<lightVxUboDeclaration>[0..maxSimultaneousLights]\n#include<morphTargetsVertexGlobalDeclaration>\n#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\n#ifdef REFLECTIONMAP_SKYBOX\nvarying vPositionUVW: vec3f;\n#endif\n#if defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED) || defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\nvarying vDirectionW: vec3f;\n#endif\n#include<logDepthDeclaration>\n#define CUSTOM_VERTEX_DEFINITIONS\n@vertex\nfn main(input : VertexInputs)->FragmentInputs {\n#define CUSTOM_VERTEX_MAIN_BEGIN\nvar positionUpdated: vec3f=vertexInputs.position;\n#ifdef NORMAL\nvar normalUpdated: vec3f=vertexInputs.normal;\n#endif\n#ifdef TANGENT\nvar tangentUpdated: vec4f=vertexInputs.tangent;\n#endif\n#ifdef UV1\nvar uvUpdated: vec2f=vertexInputs.uv;\n#endif\n#ifdef UV2\nvar uv2Updated: vec2f=vertexInputs.uv2;\n#endif\n#ifdef VERTEXCOLOR\nvar colorUpdated: vec4f=vertexInputs.color;\n#endif\n#include<morphTargetsVertexGlobal>\n#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\n#ifdef REFLECTIONMAP_SKYBOX\nvertexOutputs.vPositionUVW=positionUpdated;\n#endif\n#define CUSTOM_VERTEX_UPDATE_POSITION\n#define CUSTOM_VERTEX_UPDATE_NORMAL\n#include<instancesVertex>\n#if defined(PREPASS) && ((defined(PREPASS_VELOCITY) || defined(PREPASS_VELOCITY_LINEAR)) && !defined(BONES_VELOCITY_ENABLED)\nvertexOutputs.vCurrentPosition=scene.viewProjection*finalWorld*vec4f(positionUpdated,1.0);vertexOutputs.vPreviousPosition=uniforms.previousViewProjection*finalPreviousWorld*vec4f(positionUpdated,1.0);\n#endif\n#include<bonesVertex>\n#include<bakedVertexAnimation>\nvar worldPos: vec4f=finalWorld* vec4f(positionUpdated,1.0);vertexOutputs.vPositionW= worldPos.xyz;\n#ifdef PREPASS\n#include<prePassVertex>\n#endif\n#ifdef NORMAL\nvar normalWorld: mat3x3f= mat3x3f(finalWorld[0].xyz,finalWorld[1].xyz,finalWorld[2].xyz);\n#if defined(INSTANCES) && defined(THIN_INSTANCES)\nvertexOutputs.vNormalW=normalUpdated/ vec3f(dot(normalWorld[0],normalWorld[0]),dot(normalWorld[1],normalWorld[1]),dot(normalWorld[2],normalWorld[2]));vertexOutputs.vNormalW=normalize(normalWorld*vertexOutputs.vNormalW);\n#else\n#ifdef NONUNIFORMSCALING\nnormalWorld=transposeMat3(inverseMat3(normalWorld));\n#endif\nvertexOutputs.vNormalW=normalize(normalWorld*normalUpdated);\n#endif\n#if defined(USESPHERICALFROMREFLECTIONMAP) && defined(USESPHERICALINVERTEX)\n#if BASE_DIFFUSE_MODEL != BRDF_DIFFUSE_MODEL_LAMBERT && BASE_DIFFUSE_MODEL != BRDF_DIFFUSE_MODEL_LEGACY\nvar viewDirectionW: vec3f=normalize(scene.vEyePosition.xyz-vertexOutputs.vPositionW);var NdotV: f32=max(dot(vertexOutputs.vNormalW,viewDirectionW),0.0);var roughNormal: vec3f=mix(vertexOutputs.vNormalW,viewDirectionW,(0.5*(1.0-NdotV))*uniforms.vBaseDiffuseRoughness);var reflectionVector: vec3f= (uniforms.reflectionMatrix* vec4f(roughNormal,0)).xyz;\n#else\nvar reflectionVector: vec3f= (uniforms.reflectionMatrix* vec4f(vertexOutputs.vNormalW,0)).xyz;\n#endif\n#ifdef REFLECTIONMAP_OPPOSITEZ\nreflectionVector.z*=-1.0;\n#endif\nvertexOutputs.vEnvironmentIrradiance=computeEnvironmentIrradiance(reflectionVector);\n#endif\n#endif\n#define CUSTOM_VERTEX_UPDATE_WORLDPOS\n#ifdef MULTIVIEW\nif (gl_ViewID_OVR==0u) {vertexOutputs.position=scene.viewProjection*worldPos;} else {vertexOutputs.position=scene.viewProjectionR*worldPos;}\n#else\nvertexOutputs.position=scene.viewProjection*worldPos;\n#endif\n#if DEBUGMODE>0\nvertexOutputs.vClipSpacePosition=vertexOutputs.position;\n#endif\n#if defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED) || defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\nvertexOutputs.vDirectionW=normalize((finalWorld*vec4f(positionUpdated,0.0)).xyz);\n#endif\n#ifndef UV1\nvar uvUpdated: vec2f= vec2f(0.,0.);\n#endif\n#ifdef MAINUV1\nvertexOutputs.vMainUV1=uvUpdated;\n#endif\n#ifndef UV2\nvar uv2Updated: vec2f= vec2f(0.,0.);\n#endif\n#ifdef MAINUV2\nvertexOutputs.vMainUV2=uv2Updated;\n#endif\n#include<uvVariableDeclaration>[3..7]\n#include<samplerVertexImplementation>(_DEFINENAME_,BASE_COLOR,_VARYINGNAME_,BaseColor,_MATRIXNAME_,baseColor,_INFONAME_,BaseColorInfos.x)\n#include<samplerVertexImplementation>(_DEFINENAME_,BASE_WEIGHT,_VARYINGNAME_,BaseWeight,_MATRIXNAME_,baseWeight,_INFONAME_,BaseWeightInfos.x)\n#include<samplerVertexImplementation>(_DEFINENAME_,BASE_DIFFUSE_ROUGHNESS,_VARYINGNAME_,BaseDiffuseRoughness,_MATRIXNAME_,baseDiffuseRoughness,_INFONAME_,BaseDiffuseRoughnessInfos.x)\n#include<samplerVertexImplementation>(_DEFINENAME_,BASE_METALNESS,_VARYINGNAME_,BaseMetalness,_MATRIXNAME_,baseMetalness,_INFONAME_,BaseMetalnessInfos.x)\n#include<samplerVertexImplementation>(_DEFINENAME_,SPECULAR_WEIGHT,_VARYINGNAME_,SpecularWeight,_MATRIXNAME_,specularWeight,_INFONAME_,SpecularWeightInfos.x)\n#include<samplerVertexImplementation>(_DEFINENAME_,SPECULAR_COLOR,_VARYINGNAME_,SpecularColor,_MATRIXNAME_,specularColor,_INFONAME_,SpecularColorInfos.x)\n#include<samplerVertexImplementation>(_DEFINENAME_,SPECULAR_ROUGHNESS,_VARYINGNAME_,SpecularRoughness,_MATRIXNAME_,specularRoughness,_INFONAME_,SpecularRoughnessInfos.x)\n#include<samplerVertexImplementation>(_DEFINENAME_,SPECULAR_ROUGHNESS_ANISOTROPY,_VARYINGNAME_,SpecularRoughnessAnisotropy,_MATRIXNAME_,specularRoughnessAnisotropy,_INFONAME_,SpecularRoughnessAnisotropyInfos.x)\n#include<samplerVertexImplementation>(_DEFINENAME_,COAT_WEIGHT,_VARYINGNAME_,CoatWeight,_MATRIXNAME_,coatWeight,_INFONAME_,CoatWeightInfos.x)\n#include<samplerVertexImplementation>(_DEFINENAME_,COAT_COLOR,_VARYNAME_,CoatColor,_MATRIXNAME_,coatColor,_INFONAME_,CoatColorInfos.x)\n#include<samplerVertexImplementation>(_DEFINENAME_,COAT_ROUGHNESS,_VARYINGNAME_,CoatRoughness,_MATRIXNAME_,coatRoughness,_INFONAME_,CoatRoughnessInfos.x)\n#include<samplerVertexImplementation>(_DEFINENAME_,COAT_ROUGHNESS_ANISOTROPY,_VARYINGNAME_,CoatRoughnessAnisotropy,_MATRIXNAME_,coatRoughnessAnisotropy,_INFONAME_,CoatRoughnessAnisotropyInfos.x)\n#include<samplerVertexImplementation>(_DEFINENAME_,COAT_DARKENING,_VARYINGNAME_,CoatDarkening,_MATRIXNAME_,coatDarkening,_INFONAME_,CoatDarkeningInfos.x)\n#include<samplerVertexImplementation>(_DEFINENAME_,GEOMETRY_NORMAL,_VARYINGNAME_,GeometryNormal,_MATRIXNAME_,geometryNormal,_INFONAME_,GeometryNormalInfos.x)\n#include<samplerVertexImplementation>(_DEFINENAME_,GEOMETRY_TANGENT,_VARYINGNAME_,GeometryTangent,_MATRIXNAME_,geometryTangent,_INFONAME_,GeometryTangentInfos.x)\n#include<samplerVertexImplementation>(_DEFINENAME_,GEOMETRY_COAT_NORMAL,_VARYINGNAME_,GeometryCoatNormal,_MATRIXNAME_,geometryCoatNormal,_INFONAME_,GeometryCoatNormalInfos.x)\n#include<samplerVertexImplementation>(_DEFINENAME_,GEOMETRY_OPACITY,_VARYINGNAME_,GeometryOpacity,_MATRIXNAME_,geometryOpacity,_INFONAME_,GeometryOpacityInfos.x)\n#include<samplerVertexImplementation>(_DEFINENAME_,EMISSION_COLOR,_VARYINGNAME_,EmissionColor,_MATRIXNAME_,emissionColor,_INFONAME_,EmissionColorInfos.x)\n#include<samplerVertexImplementation>(_DEFINENAME_,AMBIENT_OCCLUSION,_VARYINGNAME_,AmbientOcclusion,_MATRIXNAME_,ambientOcclusion,_INFONAME_,AmbientOcclusionInfos.x)\n#include<samplerVertexImplementation>(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal,_MATRIXNAME_,decal,_INFONAME_,DecalInfos.x)\n#include<samplerVertexImplementation>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail,_MATRIXNAME_,detail,_INFONAME_,DetailInfos.x)\n#include<openpbrNormalMapVertex>\n#include<clipPlaneVertex>\n#include<fogVertex>\n#include<shadowsVertex>[0..maxSimultaneousLights]\n#include<vertexColorMixing>\n#include<logDepthVertex>\n#define CUSTOM_VERTEX_MAIN_END\n}`;\n// Sideeffect\nif (!ShaderStore.ShadersStoreWGSL[name]) {\n ShaderStore.ShadersStoreWGSL[name] = shader;\n}\n/** @internal */\nexport const openpbrVertexShaderWGSL = { name, shader };\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onerjs/core",
3
- "version": "8.26.2",
3
+ "version": "8.26.4",
4
4
  "main": "index.js",
5
5
  "module": "index.js",
6
6
  "types": "index.d.ts",