@rings-webgpu/core 1.0.10 → 1.0.12
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/dist/rings.es.js +626 -415
- package/dist/rings.es.js.map +3 -3
- package/dist/rings.es.max.js +1190 -520
- package/dist/rings.umd.js +554 -343
- package/dist/rings.umd.js.map +3 -3
- package/dist/rings.umd.max.js +1193 -519
- package/dist/types/assets/shader/core/base/Common_frag.d.ts +3 -0
- package/dist/types/assets/shader/core/struct/VertexAttributes.d.ts +3 -0
- package/dist/types/assets/shader/lines/FatLineShader.d.ts +5 -0
- package/dist/types/assets/shader/materials/program/ShadowMapping_frag.d.ts +3 -0
- package/dist/types/components/renderer/FatLineRenderer.d.ts +38 -0
- package/dist/types/core/geometry/FatLineGeometry.d.ts +48 -0
- package/dist/types/index.d.ts +7 -1
- package/dist/types/loader/parser/prefab/mats/shader/FatLineShader.d.ts +11 -0
- package/dist/types/loader/parser/prefab/mats/shader/GSplatShader.d.ts +12 -0
- package/dist/types/materials/FatLineMaterial.d.ts +57 -0
- package/dist/types/materials/GSplatMaterial.d.ts +5 -0
- package/package.json +1 -1
- /package/dist/types/assets/shader/{materials → gsplat}/GSplatShader.d.ts +0 -0
package/dist/rings.es.max.js
CHANGED
|
@@ -2113,7 +2113,7 @@ function GetShader(name) {
|
|
|
2113
2113
|
}
|
|
2114
2114
|
|
|
2115
2115
|
var __defProp$2 = Object.defineProperty;
|
|
2116
|
-
var __decorateClass$
|
|
2116
|
+
var __decorateClass$m = (decorators, target, key, kind) => {
|
|
2117
2117
|
var result = void 0 ;
|
|
2118
2118
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
2119
2119
|
if (decorator = decorators[i])
|
|
@@ -2216,10 +2216,10 @@ const _Struct = class _Struct {
|
|
|
2216
2216
|
return struct.__size;
|
|
2217
2217
|
}
|
|
2218
2218
|
};
|
|
2219
|
-
__decorateClass$
|
|
2219
|
+
__decorateClass$m([
|
|
2220
2220
|
NonSerialize
|
|
2221
2221
|
], _Struct.prototype, "__refection");
|
|
2222
|
-
__decorateClass$
|
|
2222
|
+
__decorateClass$m([
|
|
2223
2223
|
NonSerialize
|
|
2224
2224
|
], _Struct.prototype, "__size");
|
|
2225
2225
|
let Struct = _Struct;
|
|
@@ -5025,18 +5025,20 @@ class SkeletonAnimation_shader {
|
|
|
5025
5025
|
}
|
|
5026
5026
|
}
|
|
5027
5027
|
|
|
5028
|
-
let VertexAttributes_vert =
|
|
5028
|
+
let VertexAttributes_vert = (
|
|
5029
|
+
/*wgsl*/
|
|
5030
|
+
`
|
|
5029
5031
|
var<private> PI: f32 = 3.14159265359;
|
|
5030
5032
|
#if USE_METAHUMAN
|
|
5031
5033
|
${MorphTarget_shader.getMorphTargetShaderBinding(3, 0)}
|
|
5032
|
-
${SkeletonAnimation_shader.groupBindingAndFunctions(3, 2)}
|
|
5034
|
+
${SkeletonAnimation_shader.groupBindingAndFunctions(3, 2)}
|
|
5033
5035
|
#else
|
|
5034
5036
|
#if USE_MORPHTARGETS
|
|
5035
5037
|
${MorphTarget_shader.getMorphTargetShaderBinding(3, 0)}
|
|
5036
5038
|
#endif
|
|
5037
5039
|
|
|
5038
5040
|
#if USE_SKELETON
|
|
5039
|
-
${SkeletonAnimation_shader.groupBindingAndFunctions(3, 0)}
|
|
5041
|
+
${SkeletonAnimation_shader.groupBindingAndFunctions(3, 0)}
|
|
5040
5042
|
#endif
|
|
5041
5043
|
#endif
|
|
5042
5044
|
|
|
@@ -5071,6 +5073,10 @@ let VertexAttributes_vert = `
|
|
|
5071
5073
|
#endif
|
|
5072
5074
|
#endif
|
|
5073
5075
|
#else
|
|
5076
|
+
#if USE_TANGENT
|
|
5077
|
+
@location(auto) TANGENT: vec4<f32>,
|
|
5078
|
+
#endif
|
|
5079
|
+
|
|
5074
5080
|
#if USE_SKELETON
|
|
5075
5081
|
#if USE_TANGENT
|
|
5076
5082
|
@location(auto) joints0: vec4<f32>,
|
|
@@ -5117,6 +5123,7 @@ let VertexAttributes_vert = `
|
|
|
5117
5123
|
#if USE_TANGENT
|
|
5118
5124
|
@location(auto) varying_Tangent: vec4<f32>,
|
|
5119
5125
|
#endif
|
|
5126
|
+
|
|
5120
5127
|
|
|
5121
5128
|
@builtin(position) member: vec4<f32>
|
|
5122
5129
|
};
|
|
@@ -5166,23 +5173,24 @@ let VertexAttributes_vert = `
|
|
|
5166
5173
|
clipPosition.z = log2Depth(clipPosition.w, globalUniform.near, globalUniform.far);
|
|
5167
5174
|
#endif
|
|
5168
5175
|
|
|
5169
|
-
ORI_CameraWorldDir = normalize(ORI_CAMERAMATRIX[3].xyz - worldPos.xyz);
|
|
5176
|
+
ORI_CameraWorldDir = normalize(ORI_CAMERAMATRIX[3].xyz - worldPos.xyz) ;
|
|
5170
5177
|
|
|
5171
|
-
ORI_VertexOut.index = f32(vertex.index);
|
|
5178
|
+
ORI_VertexOut.index = f32(vertex.index) ;
|
|
5172
5179
|
|
|
5173
|
-
ORI_VertexOut.varying_UV0 = vertex.uv.xy;
|
|
5180
|
+
ORI_VertexOut.varying_UV0 = vertex.uv.xy ;
|
|
5174
5181
|
|
|
5175
5182
|
ORI_VertexOut.varying_UV1 = vertex.TEXCOORD_1.xy;
|
|
5176
5183
|
|
|
5177
|
-
ORI_VertexOut.varying_ViewPos = viewPosition;
|
|
5178
|
-
ORI_VertexOut.varying_Clip = clipPosition;
|
|
5179
|
-
ORI_VertexOut.varying_WPos = worldPos;
|
|
5184
|
+
ORI_VertexOut.varying_ViewPos = viewPosition ;
|
|
5185
|
+
ORI_VertexOut.varying_Clip = clipPosition ;
|
|
5186
|
+
ORI_VertexOut.varying_WPos = worldPos ;
|
|
5180
5187
|
ORI_VertexOut.varying_WPos.w = f32(vertex.index);
|
|
5181
|
-
ORI_VertexOut.varying_WNormal = normalize(ORI_NORMALMATRIX * vertexNormal.xyz);
|
|
5188
|
+
ORI_VertexOut.varying_WNormal = normalize(ORI_NORMALMATRIX * vertexNormal.xyz) ;
|
|
5182
5189
|
|
|
5183
|
-
ORI_VertexOut.member = clipPosition;
|
|
5190
|
+
ORI_VertexOut.member = clipPosition ;
|
|
5184
5191
|
}
|
|
5185
|
-
|
|
5192
|
+
`
|
|
5193
|
+
);
|
|
5186
5194
|
|
|
5187
5195
|
let VideoUniform_frag = `
|
|
5188
5196
|
struct MaterialUniform {
|
|
@@ -5301,68 +5309,90 @@ let Inline_vert = (
|
|
|
5301
5309
|
`
|
|
5302
5310
|
);
|
|
5303
5311
|
|
|
5304
|
-
let Common_frag =
|
|
5305
|
-
|
|
5306
|
-
|
|
5307
|
-
|
|
5308
|
-
|
|
5309
|
-
|
|
5310
|
-
|
|
5311
|
-
|
|
5312
|
-
|
|
5313
|
-
var<private> ORI_VertexVarying: FragmentVarying;
|
|
5314
|
-
var<private> ORI_ShadingInput: ShadingInput;
|
|
5315
|
-
var<private> viewDir:vec3<f32>;
|
|
5316
|
-
var<private> modelIndex:u32;
|
|
5312
|
+
let Common_frag = (
|
|
5313
|
+
/*wgsl*/
|
|
5314
|
+
`
|
|
5315
|
+
#include "GlobalUniform"
|
|
5316
|
+
#include "FragmentVarying"
|
|
5317
|
+
#include "FragmentOutput"
|
|
5318
|
+
#include "ShadingInput"
|
|
5319
|
+
#include "ColorUtil_frag"
|
|
5320
|
+
#include "BitUtil"
|
|
5317
5321
|
|
|
5318
|
-
|
|
5319
|
-
|
|
5320
|
-
|
|
5321
|
-
|
|
5322
|
-
|
|
5322
|
+
var<private> ORI_FragmentOutput: FragmentOutput;
|
|
5323
|
+
var<private> ORI_VertexVarying: FragmentVarying;
|
|
5324
|
+
var<private> ORI_ShadingInput: ShadingInput;
|
|
5325
|
+
var<private> viewDir:vec3<f32>;
|
|
5326
|
+
var<private> modelIndex:u32;
|
|
5327
|
+
|
|
5328
|
+
@fragment
|
|
5329
|
+
fn FragMain( vertex_varying:FragmentVarying ) -> FragmentOutput {
|
|
5323
5330
|
ORI_FragmentOutput.color = vec4<f32>(1.0, 0.0, 0.0, 1.0);
|
|
5324
|
-
|
|
5325
|
-
|
|
5331
|
+
ORI_VertexVarying = vertex_varying;
|
|
5332
|
+
ORI_VertexVarying.vWorldNormal = normalize(vertex_varying.vWorldNormal);
|
|
5333
|
+
ORI_FragmentOutput.color = vec4<f32>(1.0, 0.0, 0.0, 1.0);
|
|
5334
|
+
viewDir = normalize(globalUniform.CameraPos.xyz - ORI_VertexVarying.vWorldPos.xyz) ;
|
|
5326
5335
|
|
|
5327
|
-
|
|
5328
|
-
|
|
5329
|
-
|
|
5336
|
+
frag();
|
|
5337
|
+
|
|
5338
|
+
#if USE_DEBUG
|
|
5339
|
+
debugFragmentOut();
|
|
5340
|
+
#endif
|
|
5330
5341
|
|
|
5331
|
-
|
|
5332
|
-
|
|
5333
|
-
|
|
5334
|
-
|
|
5335
|
-
|
|
5336
|
-
|
|
5337
|
-
|
|
5342
|
+
#if USE_DEFAULTFRAGOUT
|
|
5343
|
+
// let finalMatrix = globalUniform.projMat * globalUniform.viewMat ;
|
|
5344
|
+
// let nMat = mat3x3<f32>(finalMatrix[0].xyz,finalMatrix[1].xyz,finalMatrix[2].xyz) ;
|
|
5345
|
+
// let ORI_NORMALMATRIX = transpose(inverse( nMat ));
|
|
5346
|
+
// var vNormal = normalize(ORI_NORMALMATRIX * (ORI_VertexVarying.vWorldNormal));
|
|
5347
|
+
|
|
5348
|
+
// let gBuffer = packNHMDGBuffer(
|
|
5349
|
+
// ORI_VertexVarying.fragCoord.z,
|
|
5350
|
+
// ORI_ShadingInput.BaseColor.rgb,
|
|
5351
|
+
// ORI_ShadingInput.BaseColor.rgb,
|
|
5352
|
+
// vec3f(ORI_ShadingInput.Roughness,ORI_ShadingInput.Metallic,ORI_ShadingInput.AmbientOcclusion),
|
|
5353
|
+
// ORI_ShadingInput.Normal,
|
|
5354
|
+
// ORI_ShadingInput.Opacity
|
|
5355
|
+
// ) ;
|
|
5356
|
+
#endif
|
|
5338
5357
|
|
|
5339
|
-
|
|
5340
|
-
|
|
5358
|
+
#if USE_OUTDEPTH
|
|
5359
|
+
#if USE_LOGDEPTH
|
|
5360
|
+
ORI_FragmentOutput.out_depth = log2DepthFixPersp(ORI_VertexVarying.fragPosition.w, globalUniform.near, globalUniform.far);
|
|
5361
|
+
#else
|
|
5362
|
+
ORI_FragmentOutput.out_depth = ORI_ShadingInput.FragDepth ;
|
|
5363
|
+
#endif
|
|
5364
|
+
#endif
|
|
5341
5365
|
|
|
5342
|
-
|
|
5343
|
-
|
|
5344
|
-
var octUVNormal = (octEncode(normalize( (normal) )) + 1.0) * 0.5;
|
|
5345
|
-
var yc = f32(r11g11b9_to_float(vec3f(octUVNormal,rmao.r)));
|
|
5346
|
-
#if USE_CASTREFLECTION
|
|
5347
|
-
var rgbm = EncodeRGBM(hdrLighting);
|
|
5348
|
-
var zc = f32(pack4x8unorm(vec4f(rgbm.rgb,0.0))) ;
|
|
5349
|
-
var wc = f32(pack4x8unorm(vec4f(rmao.rg,rgbm.a,0.0)));
|
|
5350
|
-
#else
|
|
5351
|
-
var zc = f32(vec4fToFloat_7bits(vec4f(albedo.rgb,alpha)));
|
|
5352
|
-
var wc = f32(r22g8_to_float(vec2f(f32(modelIndex)/f_r22g8.r,rmao.g)));
|
|
5353
|
-
#endif
|
|
5366
|
+
return ORI_FragmentOutput ;
|
|
5367
|
+
}
|
|
5354
5368
|
|
|
5355
|
-
gBuffer.x = depth ;
|
|
5356
|
-
gBuffer.y = yc;
|
|
5357
|
-
gBuffer.z = zc;
|
|
5358
|
-
gBuffer.w = wc;
|
|
5359
|
-
return gBuffer;
|
|
5360
|
-
}
|
|
5361
5369
|
|
|
5362
|
-
|
|
5363
|
-
|
|
5364
|
-
|
|
5365
|
-
|
|
5370
|
+
fn packNHMDGBuffer(depth:f32, albedo:vec3f,hdrLighting:vec3f,rmao:vec3f,normal:vec3f,alpha:f32) -> vec4f {
|
|
5371
|
+
var gBuffer : vec4f ;
|
|
5372
|
+
var octUVNormal = (octEncode(normalize( (normal) )) + 1.0) * 0.5 ;
|
|
5373
|
+
var yc = f32(r11g11b9_to_float(vec3f(octUVNormal,rmao.r))) ;
|
|
5374
|
+
#if USE_CASTREFLECTION
|
|
5375
|
+
var rgbm = EncodeRGBM(hdrLighting);
|
|
5376
|
+
var zc = f32(pack4x8unorm(vec4f(rgbm.rgb,0.0))) ;
|
|
5377
|
+
var wc = f32(pack4x8unorm(vec4f(rmao.rg,rgbm.a,0.0)));
|
|
5378
|
+
#else
|
|
5379
|
+
var zc = f32(vec4fToFloat_7bits(vec4f(albedo.rgb,alpha)));
|
|
5380
|
+
var wc = f32(r22g8_to_float(vec2f(f32(modelIndex)/f_r22g8.r,rmao.g)));
|
|
5381
|
+
#endif
|
|
5382
|
+
|
|
5383
|
+
gBuffer.x = depth ;
|
|
5384
|
+
gBuffer.y = yc ;
|
|
5385
|
+
gBuffer.z = zc ;
|
|
5386
|
+
gBuffer.w = wc ;
|
|
5387
|
+
return gBuffer ;
|
|
5388
|
+
}
|
|
5389
|
+
|
|
5390
|
+
fn transformUV( uv:vec2f , offsetScale:vec4f ) -> vec2f{
|
|
5391
|
+
return uv * offsetScale.zw + offsetScale.xy ;
|
|
5392
|
+
}
|
|
5393
|
+
|
|
5394
|
+
`
|
|
5395
|
+
);
|
|
5366
5396
|
|
|
5367
5397
|
let Common_vert = (
|
|
5368
5398
|
/*wgsl*/
|
|
@@ -5732,6 +5762,7 @@ let FragmentVarying = `
|
|
|
5732
5762
|
let FragmentOutput = `
|
|
5733
5763
|
#if USE_CASTREFLECTION
|
|
5734
5764
|
struct FragmentOutput {
|
|
5765
|
+
@location(auto) color: vec4<f32>,
|
|
5735
5766
|
@location(auto) gBuffer: vec4<f32>,
|
|
5736
5767
|
#if USE_OUTDEPTH
|
|
5737
5768
|
@builtin(frag_depth) out_depth: f32
|
|
@@ -5804,202 +5835,219 @@ let IESProfiles_frag = `
|
|
|
5804
5835
|
}
|
|
5805
5836
|
`;
|
|
5806
5837
|
|
|
5807
|
-
let ShadowMapping_frag =
|
|
5808
|
-
|
|
5838
|
+
let ShadowMapping_frag = (
|
|
5839
|
+
/*wgsl*/
|
|
5840
|
+
`
|
|
5841
|
+
@group(1) @binding(auto) var shadowMapSampler: sampler_comparison;
|
|
5809
5842
|
@group(1) @binding(auto) var shadowMap: texture_depth_2d_array;
|
|
5810
|
-
@group(1) @binding(auto) var pointShadowMapSampler:
|
|
5843
|
+
@group(1) @binding(auto) var pointShadowMapSampler: sampler_comparison;
|
|
5811
5844
|
@group(1) @binding(auto) var pointShadowMap: texture_depth_cube_array;
|
|
5812
5845
|
|
|
5813
5846
|
var<private> directShadowVisibility: array<f32, 8>;
|
|
5814
5847
|
var<private> pointShadows: array<f32, 8>;
|
|
5815
|
-
var<private> shadowWeight: f32 = 1.0;
|
|
5848
|
+
var<private> shadowWeight: f32 = 1.0 ;
|
|
5816
5849
|
|
|
5817
5850
|
fn useShadow(){
|
|
5818
|
-
directShadowVisibility = array<f32, 8>(1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0);
|
|
5851
|
+
directShadowVisibility = array<f32, 8>( 1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0) ;
|
|
5819
5852
|
pointShadows = array<f32, 8>(1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0) ;
|
|
5820
5853
|
directShadowMaping(globalUniform.shadowBias);
|
|
5821
5854
|
pointShadowMapCompare(globalUniform.pointShadowBias);
|
|
5822
5855
|
}
|
|
5823
5856
|
|
|
5824
5857
|
fn calcBasicBias(shadowWorldSize:f32, shadowDepthTexSize:f32, near:f32, far:f32) -> f32{
|
|
5825
|
-
|
|
5826
|
-
|
|
5827
|
-
|
|
5858
|
+
var bias = shadowWorldSize / shadowDepthTexSize;
|
|
5859
|
+
bias = bias / (far - near);
|
|
5860
|
+
return bias * 2.0;
|
|
5828
5861
|
}
|
|
5829
5862
|
|
|
5830
|
-
const dirCount:i32 = 8;
|
|
5831
|
-
const pointCount:i32 = 8;
|
|
5832
|
-
const csmCount:i32 = ${CSM.Cascades};
|
|
5863
|
+
const dirCount:i32 = 8 ;
|
|
5864
|
+
const pointCount:i32 = 8 ;
|
|
5865
|
+
const csmCount:i32 = ${CSM.Cascades} ;
|
|
5833
5866
|
var<private> csmLevel:i32 = -1;
|
|
5867
|
+
fn directShadowMaping(shadowBias: f32) {
|
|
5834
5868
|
|
|
5835
|
-
fn directShadowMaping(shadowBias: f32) {
|
|
5836
5869
|
let enableCSM:bool = globalUniform.enableCSM > 0.5;
|
|
5837
|
-
for(var i:i32 = 0; i < dirCount; i = i+1){
|
|
5838
|
-
|
|
5839
|
-
|
|
5840
|
-
|
|
5841
|
-
|
|
5842
|
-
|
|
5843
|
-
|
|
5844
|
-
|
|
5845
|
-
|
|
5846
|
-
|
|
5847
|
-
|
|
5848
|
-
|
|
5849
|
-
|
|
5850
|
-
|
|
5851
|
-
|
|
5852
|
-
|
|
5853
|
-
|
|
5854
|
-
|
|
5855
|
-
|
|
5856
|
-
|
|
5857
|
-
|
|
5858
|
-
|
|
5859
|
-
|
|
5860
|
-
|
|
5861
|
-
|
|
5862
|
-
|
|
5863
|
-
|
|
5864
|
-
|
|
5865
|
-
|
|
5866
|
-
|
|
5867
|
-
|
|
5868
|
-
|
|
5869
|
-
|
|
5870
|
-
if(validCount >= 2 || totalWeight >= 0.99){
|
|
5871
|
-
csmLevel = csm;
|
|
5872
|
-
break;
|
|
5873
|
-
};
|
|
5874
|
-
}
|
|
5875
|
-
}
|
|
5876
|
-
|
|
5877
|
-
totalWeight += 0.0001;
|
|
5878
|
-
if(validCount == 0){
|
|
5879
|
-
visibility = 1.0;
|
|
5880
|
-
}else{
|
|
5881
|
-
visibility = visibility / totalWeight ;
|
|
5882
|
-
};
|
|
5883
|
-
} else {
|
|
5884
|
-
shadowMatrix = globalUniform.shadowMatrix[shadowIndex];
|
|
5885
|
-
if(enableCSM) {
|
|
5886
|
-
shadowIndex += csmCount - 1;
|
|
5887
|
-
}
|
|
5888
|
-
visibility = directShadowMapingIndex(light, shadowMatrix, shadowIndex, shadowBias).x;
|
|
5870
|
+
for (var i: i32 = 0; i < dirCount ; i = i + 1) {
|
|
5871
|
+
if( i >= globalUniform.nDirShadowStart && i < globalUniform.nDirShadowEnd ){
|
|
5872
|
+
let ldx = globalUniform.shadowLights[u32(i) / 4u][u32(i) % 4u];
|
|
5873
|
+
let light = lightBuffer[u32(ldx)] ;
|
|
5874
|
+
var shadowIndex = i32(light.castShadow);
|
|
5875
|
+
var visibility = 1.0;
|
|
5876
|
+
var shadowMatrix:mat4x4<f32>;
|
|
5877
|
+
#if USE_CSM
|
|
5878
|
+
if(enableCSM && shadowIndex == 0){
|
|
5879
|
+
var totalWeight = 0.0;
|
|
5880
|
+
visibility = 0.0;
|
|
5881
|
+
var validCount = 0;
|
|
5882
|
+
for(var csm:i32 = 0; csm < csmCount; csm ++){
|
|
5883
|
+
var csmShadowBias = globalUniform.csmShadowBias[csm] * shadowBias;
|
|
5884
|
+
shadowMatrix = globalUniform.csmMatrix[csm];
|
|
5885
|
+
let csmShadowResult = directShadowMapingIndex(light, shadowMatrix, csm, csmShadowBias);
|
|
5886
|
+
if(csmShadowResult.y < 0.5){
|
|
5887
|
+
validCount ++;
|
|
5888
|
+
|
|
5889
|
+
var uv = 2.0 * csmShadowResult.zw - vec2<f32>(1.0);
|
|
5890
|
+
uv = saturate(vec2<f32>(1.0) - abs(uv));
|
|
5891
|
+
uv /= clamp(globalUniform.csmMargin, 0.01, 0.5);
|
|
5892
|
+
var weight:f32 = min(uv.x, 1.0);
|
|
5893
|
+
weight = min(weight, uv.y);
|
|
5894
|
+
|
|
5895
|
+
if(validCount == 1 && csm == csmCount - 1){
|
|
5896
|
+
visibility = 1.0 - weight + csmShadowResult.x * weight;
|
|
5897
|
+
totalWeight = 1.0;
|
|
5898
|
+
}else{
|
|
5899
|
+
weight *= 1.0 - totalWeight;
|
|
5900
|
+
visibility += csmShadowResult.x * weight;
|
|
5901
|
+
totalWeight += weight;
|
|
5889
5902
|
}
|
|
5890
|
-
|
|
5891
|
-
|
|
5892
|
-
|
|
5893
|
-
|
|
5894
|
-
|
|
5895
|
-
|
|
5903
|
+
// if(weight < 1.0){
|
|
5904
|
+
// visibility += 0.1;
|
|
5905
|
+
// }
|
|
5906
|
+
if(validCount >= 2 || totalWeight >= 0.99){
|
|
5907
|
+
csmLevel = csm;
|
|
5908
|
+
break;
|
|
5909
|
+
}
|
|
5910
|
+
}
|
|
5911
|
+
}
|
|
5912
|
+
totalWeight += 0.0001;
|
|
5913
|
+
if(validCount == 0){
|
|
5914
|
+
visibility = 1.0;
|
|
5915
|
+
}else{
|
|
5916
|
+
visibility = visibility / totalWeight ;
|
|
5917
|
+
}
|
|
5918
|
+
}else{
|
|
5919
|
+
shadowMatrix = globalUniform.shadowMatrix[shadowIndex];
|
|
5920
|
+
if(enableCSM) {
|
|
5921
|
+
shadowIndex += csmCount - 1;
|
|
5922
|
+
}
|
|
5923
|
+
visibility = directShadowMapingIndex(light, shadowMatrix, shadowIndex, shadowBias).x;
|
|
5924
|
+
}
|
|
5925
|
+
#else
|
|
5926
|
+
shadowMatrix = globalUniform.shadowMatrix[shadowIndex];
|
|
5927
|
+
visibility = directShadowMapingIndex(light, shadowMatrix, shadowIndex, shadowBias).x;
|
|
5928
|
+
#endif
|
|
5929
|
+
directShadowVisibility[i] = visibility;
|
|
5930
|
+
}
|
|
5896
5931
|
}
|
|
5932
|
+
|
|
5897
5933
|
}
|
|
5898
5934
|
|
|
5899
|
-
fn directShadowMapingIndex(light:LightData, matrix:mat4x4<f32>, depthTexIndex:i32, shadowBias:f32) -> vec4<f32>
|
|
5900
|
-
|
|
5901
|
-
|
|
5902
|
-
|
|
5903
|
-
|
|
5904
|
-
|
|
5905
|
-
|
|
5906
|
-
|
|
5907
|
-
|
|
5908
|
-
|
|
5909
|
-
|
|
5910
|
-
|
|
5911
|
-
|
|
5912
|
-
|
|
5913
|
-
|
|
5914
|
-
|
|
5915
|
-
|
|
5916
|
-
|
|
5917
|
-
|
|
5918
|
-
|
|
5919
|
-
|
|
5920
|
-
|
|
5921
|
-
|
|
5922
|
-
|
|
5923
|
-
|
|
5924
|
-
|
|
5925
|
-
|
|
5926
|
-
|
|
5927
|
-
|
|
5928
|
-
|
|
5929
|
-
|
|
5930
|
-
|
|
5931
|
-
|
|
5932
|
-
|
|
5935
|
+
fn directShadowMapingIndex(light:LightData, matrix:mat4x4<f32>, depthTexIndex:i32, shadowBias:f32) -> vec4<f32>
|
|
5936
|
+
{
|
|
5937
|
+
var visibility = 1.0;
|
|
5938
|
+
var isOutSideArea:f32 = 1.0;
|
|
5939
|
+
var varying_shadowUV:vec2<f32> = vec2<f32>(0.0);
|
|
5940
|
+
#if USE_SHADOWMAPING
|
|
5941
|
+
var shadowPosTmp = matrix * vec4<f32>(ORI_VertexVarying.vWorldPos.xyz, 1.0);
|
|
5942
|
+
var shadowPos = shadowPosTmp.xyz / shadowPosTmp.w;
|
|
5943
|
+
varying_shadowUV = shadowPos.xy * vec2<f32>(0.5, -0.5) + vec2<f32>(0.5, 0.5);
|
|
5944
|
+
if (varying_shadowUV.x <= 1.0
|
|
5945
|
+
&& varying_shadowUV.x >= 0.0
|
|
5946
|
+
&& varying_shadowUV.y <= 1.0
|
|
5947
|
+
&& varying_shadowUV.y >= 0.0
|
|
5948
|
+
&& shadowPosTmp.z <= 1.0
|
|
5949
|
+
&& shadowPosTmp.z >= 0.0)
|
|
5950
|
+
{
|
|
5951
|
+
visibility = 0.0;
|
|
5952
|
+
isOutSideArea = 0.0;
|
|
5953
|
+
var uvOnePixel = 1.0 / vec2<f32>(globalUniform.shadowMapSize) ;
|
|
5954
|
+
var totalWeight = 0.0;
|
|
5955
|
+
// var NoL = (dot(normalize(ORI_VertexVarying.vWorldNormal), normalize(-light.direction)));
|
|
5956
|
+
// let v = max(NoL, 0.0) ;
|
|
5957
|
+
// var bias = max(0.05 * (dot(normalize(fragData.N), normalize(-light.direction)) ), -shadowBias);
|
|
5958
|
+
var bias = -0.005 * max(dot(fragData.N, -light.direction) , 0.0 );
|
|
5959
|
+
bias = clamp(bias, 0, 0.01) + -shadowBias;
|
|
5960
|
+
|
|
5961
|
+
// var bias = shadowBias / v;
|
|
5962
|
+
let bound = 1 ;
|
|
5963
|
+
for (var y = -bound; y <= bound; y++) {
|
|
5964
|
+
for (var x = -bound; x <= bound; x++) {
|
|
5965
|
+
var offset = vec2<f32>(f32(x), f32(y)) ;
|
|
5966
|
+
var offsetUV = offset * uvOnePixel ;
|
|
5967
|
+
var weight = min(length(offset),1.0) ;
|
|
5968
|
+
var depth = textureSampleCompareLevel(shadowMap, shadowMapSampler, varying_shadowUV + offsetUV , depthTexIndex, shadowPos.z - bias);
|
|
5969
|
+
if (depth < 0.5) {
|
|
5970
|
+
totalWeight += 1.0;
|
|
5971
|
+
}else{
|
|
5972
|
+
visibility += weight;
|
|
5973
|
+
totalWeight += weight;
|
|
5933
5974
|
}
|
|
5934
|
-
visibility /= totalWeight;
|
|
5935
5975
|
}
|
|
5936
|
-
|
|
5937
|
-
|
|
5938
|
-
|
|
5939
|
-
|
|
5940
|
-
|
|
5941
|
-
|
|
5942
|
-
|
|
5943
|
-
|
|
5944
|
-
|
|
5945
|
-
|
|
5946
|
-
let light = lightBuffer[u32(ldx)];
|
|
5947
|
-
|
|
5948
|
-
#if USE_SHADOWMAPING
|
|
5949
|
-
let lightPos = light.position.xyz;
|
|
5950
|
-
var shadow = 0.0;
|
|
5951
|
-
let frgToLight = worldPos - lightPos.xyz;
|
|
5952
|
-
var dir: vec3<f32> = normalize(frgToLight);
|
|
5953
|
-
var len = length(frgToLight);
|
|
5954
|
-
var bias = max(shadowBias * globalUniform.far * (1.0 - dot(ORI_ShadingInput.Normal, dir)), 0.005);
|
|
5955
|
-
|
|
5956
|
-
#if USE_PCF_SHADOW
|
|
5957
|
-
let samples = 4.0;
|
|
5958
|
-
let sampleOffset = offset / (samples * 0.5);
|
|
5959
|
-
for (var x: f32 = -offset; x < offset; x += sampleOffset) {
|
|
5960
|
-
for (var y: f32 = -offset; y < offset; y += sampleOffset) {
|
|
5961
|
-
for (var z: f32 = -offset; z < offset; z += sampleOffset) {
|
|
5962
|
-
let offsetDir = normalize(dir.xyz + vec3<f32>(x, y, z));
|
|
5963
|
-
var depth = textureSampleLevel(pointShadowMap, pointShadowMapSampler, offsetDir, light.castShadow, 0);
|
|
5964
|
-
depth *= globalUniform.far;
|
|
5965
|
-
if ((len - bias) > depth) {
|
|
5966
|
-
shadow += 1.0 * dot(offsetDir, dir.xyz);
|
|
5967
|
-
}
|
|
5968
|
-
}
|
|
5969
|
-
}
|
|
5970
|
-
}
|
|
5971
|
-
shadow = min(max(shadow / (samples * samples * samples), 0.0), 1.0);
|
|
5972
|
-
#endif
|
|
5976
|
+
}
|
|
5977
|
+
visibility /= totalWeight;
|
|
5978
|
+
}
|
|
5979
|
+
#endif
|
|
5980
|
+
return vec4<f32>(visibility, isOutSideArea, varying_shadowUV);
|
|
5981
|
+
}
|
|
5982
|
+
|
|
5983
|
+
fn pointShadowMapCompare(shadowBias: f32){
|
|
5984
|
+
let worldPos = ORI_VertexVarying.vWorldPos.xyz;
|
|
5985
|
+
let offset = 0.1;
|
|
5973
5986
|
|
|
5974
|
-
|
|
5975
|
-
|
|
5976
|
-
|
|
5977
|
-
|
|
5978
|
-
|
|
5979
|
-
|
|
5980
|
-
|
|
5981
|
-
|
|
5982
|
-
|
|
5983
|
-
|
|
5987
|
+
for (var i: i32 = 0; i < pointCount ; i = i + 1) {
|
|
5988
|
+
if( i >= globalUniform.nPointShadowStart && i < globalUniform.nPointShadowEnd ){
|
|
5989
|
+
let ldx = globalUniform.shadowLights[u32(i) / 4u][u32(i) % 4u];
|
|
5990
|
+
let light = lightBuffer[u32(ldx)] ;
|
|
5991
|
+
|
|
5992
|
+
#if USE_SHADOWMAPING
|
|
5993
|
+
let lightPos = light.position.xyz;
|
|
5994
|
+
var shadow = 0.0;
|
|
5995
|
+
let frgToLight = worldPos - lightPos.xyz;
|
|
5996
|
+
var dir: vec3<f32> = normalize(frgToLight);
|
|
5997
|
+
var len = length(frgToLight);
|
|
5998
|
+
var bias = max(shadowBias * globalUniform.far * (1.0 - dot(ORI_ShadingInput.Normal, dir)), 0.005);
|
|
5999
|
+
|
|
6000
|
+
#if USE_PCF_SHADOW
|
|
6001
|
+
let samples = 4.0;
|
|
6002
|
+
let sampleOffset = offset / (samples * 0.5);
|
|
6003
|
+
for (var x: f32 = -offset; x < offset; x += sampleOffset) {
|
|
6004
|
+
for (var y: f32 = -offset; y < offset; y += sampleOffset) {
|
|
6005
|
+
for (var z: f32 = -offset; z < offset; z += sampleOffset) {
|
|
6006
|
+
let compareZ = (len - bias) / globalUniform.far;
|
|
6007
|
+
var depth = textureSampleCompareLevel(pointShadowMap, pointShadowMapSampler, dir.xyz, light.castShadow, compareZ);
|
|
6008
|
+
if (depth < 0.5) {
|
|
6009
|
+
shadow = 1.0;
|
|
6010
|
+
}
|
|
6011
|
+
for (var j = 0; j < pointCount ; j+=1 ){
|
|
6012
|
+
if(i32(light.castShadow) == j){
|
|
6013
|
+
pointShadows[j] = 1.0 - shadow;
|
|
6014
|
+
}
|
|
5984
6015
|
}
|
|
6016
|
+
}
|
|
5985
6017
|
}
|
|
5986
|
-
|
|
6018
|
+
}
|
|
6019
|
+
shadow = min(max(shadow / (samples * samples * samples), 0.0), 1.0);
|
|
5987
6020
|
#endif
|
|
5988
|
-
|
|
5989
|
-
|
|
5990
|
-
|
|
6021
|
+
|
|
6022
|
+
#if USE_SOFT_SHADOW
|
|
6023
|
+
let vDis = length(globalUniform.CameraPos.xyz - worldPos.xyz);
|
|
6024
|
+
let sampleRadies = globalUniform.shadowSoft;
|
|
6025
|
+
let samples = 20;
|
|
6026
|
+
for (var j: i32 = 0; j < samples; j += 1) {
|
|
6027
|
+
let offsetDir = normalize(dir.xyz + sampleOffsetDir[j] * sampleRadies);
|
|
6028
|
+
var depth = textureSampleCompareLevel(pointShadowMap, pointShadowMapSampler, offsetDir, light.castShadow, 0);
|
|
5991
6029
|
depth *= globalUniform.far;
|
|
5992
6030
|
if ((len - bias) > depth) {
|
|
5993
|
-
|
|
5994
|
-
}
|
|
5995
|
-
#endif
|
|
5996
|
-
for (var j=0; j < pointCount; j+=1) {
|
|
5997
|
-
if(i32(light.castShadow) == j){
|
|
5998
|
-
pointShadows[j] = 1.0 - shadow;
|
|
5999
|
-
}
|
|
6031
|
+
shadow += 1.0 * dot(offsetDir, dir.xyz);
|
|
6000
6032
|
}
|
|
6001
|
-
|
|
6002
|
-
|
|
6033
|
+
}
|
|
6034
|
+
shadow = min(max(shadow / f32(samples), 0.0), 1.0);
|
|
6035
|
+
#endif
|
|
6036
|
+
|
|
6037
|
+
#if USE_HARD_SHADOW
|
|
6038
|
+
var depth = textureSampleCompareLevel(pointShadowMap, pointShadowMapSampler, dir.xyz, light.castShadow, 0);
|
|
6039
|
+
depth *= globalUniform.far;
|
|
6040
|
+
if ((len - bias) > depth) {
|
|
6041
|
+
shadow = 1.0;
|
|
6042
|
+
}
|
|
6043
|
+
#endif
|
|
6044
|
+
for (var j = 0; j < pointCount ; j+=1 ) {
|
|
6045
|
+
if(i32(light.castShadow) == j){
|
|
6046
|
+
pointShadows[j] = 1.0 - shadow ;
|
|
6047
|
+
}
|
|
6048
|
+
}
|
|
6049
|
+
#endif
|
|
6050
|
+
}
|
|
6003
6051
|
}
|
|
6004
6052
|
}
|
|
6005
6053
|
|
|
@@ -6012,7 +6060,8 @@ let ShadowMapping_frag = `
|
|
|
6012
6060
|
vec3<f32>(0.0, 1.0, 1.0), vec3<f32>(0.0, -1.0, 1.0), vec3<f32>(0.0, -1.0, -1.0), vec3<f32>(0.0, 1.0, -1.0),
|
|
6013
6061
|
);
|
|
6014
6062
|
#endif
|
|
6015
|
-
|
|
6063
|
+
`
|
|
6064
|
+
);
|
|
6016
6065
|
|
|
6017
6066
|
let Irradiance_frag = `
|
|
6018
6067
|
#include "IrradianceVolumeData_frag"
|
|
@@ -9507,6 +9556,186 @@ fn SH9(dir: vec3<f32>, coefficients: array<vec4f, 9>) -> vec4<f32> {
|
|
|
9507
9556
|
}
|
|
9508
9557
|
`;
|
|
9509
9558
|
|
|
9559
|
+
const FatLine_VS = (
|
|
9560
|
+
/* wgsl */
|
|
9561
|
+
`
|
|
9562
|
+
#include "GlobalUniform"
|
|
9563
|
+
|
|
9564
|
+
// Instance attributes stored in storage buffer
|
|
9565
|
+
// Extended with prevDir and nextDir for Line Join support
|
|
9566
|
+
struct InstanceData {
|
|
9567
|
+
start: vec3<f32>,
|
|
9568
|
+
_padding1: f32,
|
|
9569
|
+
end: vec3<f32>,
|
|
9570
|
+
_padding2: f32,
|
|
9571
|
+
colorStart: vec3<f32>,
|
|
9572
|
+
_padding3: f32,
|
|
9573
|
+
colorEnd: vec3<f32>,
|
|
9574
|
+
_padding4: f32,
|
|
9575
|
+
};
|
|
9576
|
+
|
|
9577
|
+
struct VertexInput {
|
|
9578
|
+
@builtin(instance_index) instanceIndex: u32,
|
|
9579
|
+
@location(0) position: vec3<f32>, // Quad vertices
|
|
9580
|
+
@location(1) uv: vec2<f32>, // UV coordinates
|
|
9581
|
+
};
|
|
9582
|
+
|
|
9583
|
+
struct VertexOutput {
|
|
9584
|
+
@builtin(position) position: vec4<f32>,
|
|
9585
|
+
@location(0) vUv: vec2<f32>,
|
|
9586
|
+
@location(1) vColor: vec3<f32>,
|
|
9587
|
+
};
|
|
9588
|
+
|
|
9589
|
+
struct MaterialUniform {
|
|
9590
|
+
baseColor: vec4<f32>,
|
|
9591
|
+
lineWidth: f32,
|
|
9592
|
+
opacity: f32,
|
|
9593
|
+
resolution: vec2<f32>,
|
|
9594
|
+
modelMatrix: mat4x4<f32>,
|
|
9595
|
+
};
|
|
9596
|
+
|
|
9597
|
+
@group(1) @binding(0) var<uniform> materialUniform: MaterialUniform;
|
|
9598
|
+
@group(1) @binding(1) var<storage, read> instances: array<InstanceData>;
|
|
9599
|
+
|
|
9600
|
+
@vertex
|
|
9601
|
+
fn VertMain(input: VertexInput) -> VertexOutput {
|
|
9602
|
+
var output: VertexOutput;
|
|
9603
|
+
|
|
9604
|
+
let instance = instances[input.instanceIndex];
|
|
9605
|
+
|
|
9606
|
+
// Transform from local space to world space, then to view space
|
|
9607
|
+
let start_world = materialUniform.modelMatrix * vec4<f32>(instance.start, 1.0);
|
|
9608
|
+
let end_world = materialUniform.modelMatrix * vec4<f32>(instance.end, 1.0);
|
|
9609
|
+
|
|
9610
|
+
let start_view = globalUniform.viewMat * start_world;
|
|
9611
|
+
let end_view = globalUniform.viewMat * end_world;
|
|
9612
|
+
|
|
9613
|
+
// Project to clip space
|
|
9614
|
+
var clip_start = globalUniform.projMat * start_view;
|
|
9615
|
+
var clip_end = globalUniform.projMat * end_view;
|
|
9616
|
+
|
|
9617
|
+
// Perspective division to NDC space
|
|
9618
|
+
let ndc_start = clip_start.xyz / clip_start.w;
|
|
9619
|
+
let ndc_end = clip_end.xyz / clip_end.w;
|
|
9620
|
+
|
|
9621
|
+
// Calculate screen-space direction
|
|
9622
|
+
var dir = ndc_end.xy - ndc_start.xy;
|
|
9623
|
+
|
|
9624
|
+
// Account for aspect ratio
|
|
9625
|
+
let aspect = materialUniform.resolution.x / materialUniform.resolution.y;
|
|
9626
|
+
dir.x *= aspect;
|
|
9627
|
+
dir = normalize(dir);
|
|
9628
|
+
|
|
9629
|
+
// Calculate perpendicular offset
|
|
9630
|
+
var offset = vec2<f32>(dir.y, -dir.x);
|
|
9631
|
+
|
|
9632
|
+
// Undo aspect ratio adjustment for both dir and offset
|
|
9633
|
+
dir.x /= aspect;
|
|
9634
|
+
offset.x /= aspect;
|
|
9635
|
+
|
|
9636
|
+
// Flip offset direction based on position.x
|
|
9637
|
+
if (input.position.x < 0.0) {
|
|
9638
|
+
offset *= -1.0;
|
|
9639
|
+
}
|
|
9640
|
+
|
|
9641
|
+
// Handle endcaps
|
|
9642
|
+
if (input.position.y < 0.0) {
|
|
9643
|
+
offset += -dir;
|
|
9644
|
+
} else if (input.position.y > 1.0) {
|
|
9645
|
+
offset += dir;
|
|
9646
|
+
}
|
|
9647
|
+
|
|
9648
|
+
// Apply line width
|
|
9649
|
+
offset *= materialUniform.lineWidth;
|
|
9650
|
+
offset /= materialUniform.resolution.y; // Convert to clip space
|
|
9651
|
+
|
|
9652
|
+
// Select start or end point
|
|
9653
|
+
var clip = select(clip_end, clip_start, input.position.y < 0.5);
|
|
9654
|
+
|
|
9655
|
+
// Shift the depth of the projected points so the line segments
|
|
9656
|
+
// overlap neatly and face the camera properly (billboard effect)
|
|
9657
|
+
let clipPose = select(ndc_end, ndc_start, input.position.y < 0.5);
|
|
9658
|
+
clip.z = clipPose.z * clip.w;
|
|
9659
|
+
|
|
9660
|
+
// Perspective correction
|
|
9661
|
+
offset *= clip.w;
|
|
9662
|
+
clip.x += offset.x;
|
|
9663
|
+
clip.y += offset.y;
|
|
9664
|
+
|
|
9665
|
+
output.position = clip;
|
|
9666
|
+
output.vUv = input.uv;
|
|
9667
|
+
output.vColor = select(instance.colorEnd, instance.colorStart, input.position.y < 0.5);
|
|
9668
|
+
|
|
9669
|
+
return output;
|
|
9670
|
+
}
|
|
9671
|
+
`
|
|
9672
|
+
);
|
|
9673
|
+
const FatLine_FS = (
|
|
9674
|
+
/* wgsl */
|
|
9675
|
+
`
|
|
9676
|
+
struct FragmentOutput {
|
|
9677
|
+
@location(0) color: vec4<f32>,
|
|
9678
|
+
@location(1) gBuffer: vec4<f32>,
|
|
9679
|
+
};
|
|
9680
|
+
|
|
9681
|
+
struct VertexOutput {
|
|
9682
|
+
@builtin(position) position: vec4<f32>,
|
|
9683
|
+
@location(0) vUv: vec2<f32>,
|
|
9684
|
+
@location(1) vColor: vec3<f32>,
|
|
9685
|
+
};
|
|
9686
|
+
|
|
9687
|
+
struct MaterialUniform {
|
|
9688
|
+
baseColor: vec4<f32>,
|
|
9689
|
+
lineWidth: f32,
|
|
9690
|
+
opacity: f32,
|
|
9691
|
+
resolution: vec2<f32>,
|
|
9692
|
+
modelMatrix: mat4x4<f32>,
|
|
9693
|
+
};
|
|
9694
|
+
|
|
9695
|
+
@group(1) @binding(0) var<uniform> materialUniform: MaterialUniform;
|
|
9696
|
+
|
|
9697
|
+
@fragment
|
|
9698
|
+
fn FragMain(input: VertexOutput) -> FragmentOutput {
|
|
9699
|
+
var output: FragmentOutput;
|
|
9700
|
+
|
|
9701
|
+
var alpha = materialUniform.opacity;
|
|
9702
|
+
|
|
9703
|
+
// Round endcap rendering with anti-aliasing
|
|
9704
|
+
let a = input.vUv.x;
|
|
9705
|
+
let b = select(input.vUv.y - 1.0, input.vUv.y + 1.0, input.vUv.y > 0.0);
|
|
9706
|
+
let len2 = a * a + b * b;
|
|
9707
|
+
|
|
9708
|
+
// Calculate derivative (must be in uniform control flow)
|
|
9709
|
+
let dlen = fwidth(len2);
|
|
9710
|
+
|
|
9711
|
+
// Round endcap rendering - simple approach
|
|
9712
|
+
if (abs(input.vUv.y) > 1.0) {
|
|
9713
|
+
// Determine circle center: (0, 1) for top, (0, -1) for bottom
|
|
9714
|
+
var basePoint = select(
|
|
9715
|
+
vec2<f32>(0.0, -1.0), // Bottom endcap
|
|
9716
|
+
vec2<f32>(0.0, 1.0), // Top endcap
|
|
9717
|
+
input.vUv.y > 0.0
|
|
9718
|
+
);
|
|
9719
|
+
|
|
9720
|
+
// Distance from UV to circle center
|
|
9721
|
+
// var dist = length(input.vUv - basePoint);
|
|
9722
|
+
var dist2 = (input.vUv.x - basePoint.x) * (input.vUv.x - basePoint.x) + (input.vUv.y - basePoint.y) * (input.vUv.y - basePoint.y);
|
|
9723
|
+
|
|
9724
|
+
// Discard pixels outside circle (radius = 1.0)
|
|
9725
|
+
if (dist2 > 1.0) {
|
|
9726
|
+
discard;
|
|
9727
|
+
}
|
|
9728
|
+
}
|
|
9729
|
+
|
|
9730
|
+
let color = input.vColor * materialUniform.baseColor.rgb;
|
|
9731
|
+
output.color = vec4<f32>(color, alpha);
|
|
9732
|
+
output.gBuffer = vec4<f32>(0.0, 0.0, 0.0, 0.0); // No GBuffer data for lines
|
|
9733
|
+
|
|
9734
|
+
return output;
|
|
9735
|
+
}
|
|
9736
|
+
`
|
|
9737
|
+
);
|
|
9738
|
+
|
|
9510
9739
|
class ShaderLib {
|
|
9511
9740
|
static init() {
|
|
9512
9741
|
ShaderLib.register("MathShader", MathShader);
|
|
@@ -9576,6 +9805,8 @@ class ShaderLib {
|
|
|
9576
9805
|
);
|
|
9577
9806
|
ShaderLib.register("ZPass_shader_vs", ZPassShader_vs);
|
|
9578
9807
|
ShaderLib.register("ZPass_shader_fs", ZPassShader_fs);
|
|
9808
|
+
ShaderLib.register("FatLine_VS", FatLine_VS);
|
|
9809
|
+
ShaderLib.register("FatLine_FS", FatLine_FS);
|
|
9579
9810
|
}
|
|
9580
9811
|
static register(keyName, code) {
|
|
9581
9812
|
if (!ShaderLib[keyName.toLowerCase()]) {
|
|
@@ -21662,9 +21893,9 @@ class OctreeEntity {
|
|
|
21662
21893
|
}
|
|
21663
21894
|
|
|
21664
21895
|
var __defProp$1 = Object.defineProperty;
|
|
21665
|
-
var __getOwnPropDesc$
|
|
21666
|
-
var __decorateClass$
|
|
21667
|
-
var result = __getOwnPropDesc$
|
|
21896
|
+
var __getOwnPropDesc$l = Object.getOwnPropertyDescriptor;
|
|
21897
|
+
var __decorateClass$l = (decorators, target, key, kind) => {
|
|
21898
|
+
var result = __getOwnPropDesc$l(target, key) ;
|
|
21668
21899
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
21669
21900
|
if (decorator = decorators[i])
|
|
21670
21901
|
result = (decorator(target, key, result) ) || result;
|
|
@@ -22249,221 +22480,16 @@ class RenderNode extends ComponentBase {
|
|
|
22249
22480
|
this._combineShaderRefection = void 0;
|
|
22250
22481
|
}
|
|
22251
22482
|
}
|
|
22252
|
-
__decorateClass$
|
|
22483
|
+
__decorateClass$l([
|
|
22253
22484
|
EditorInspector
|
|
22254
22485
|
], RenderNode.prototype, "materials");
|
|
22255
|
-
__decorateClass$
|
|
22486
|
+
__decorateClass$l([
|
|
22256
22487
|
EditorInspector
|
|
22257
22488
|
], RenderNode.prototype, "castShadow");
|
|
22258
|
-
__decorateClass$
|
|
22489
|
+
__decorateClass$l([
|
|
22259
22490
|
EditorInspector
|
|
22260
22491
|
], RenderNode.prototype, "castGI");
|
|
22261
22492
|
|
|
22262
|
-
class Shader {
|
|
22263
|
-
computes;
|
|
22264
|
-
passShader;
|
|
22265
|
-
constructor() {
|
|
22266
|
-
this.computes = [];
|
|
22267
|
-
this.passShader = /* @__PURE__ */ new Map();
|
|
22268
|
-
}
|
|
22269
|
-
addRenderPass(renderShader, index = -1) {
|
|
22270
|
-
let subShader = this.passShader.get(renderShader.passType) || [];
|
|
22271
|
-
if (index == -1) {
|
|
22272
|
-
subShader.push(renderShader);
|
|
22273
|
-
} else {
|
|
22274
|
-
subShader.splice(index, -1, renderShader);
|
|
22275
|
-
}
|
|
22276
|
-
this.passShader.set(renderShader.passType, subShader);
|
|
22277
|
-
}
|
|
22278
|
-
removeShader(renderShader, index = -1) {
|
|
22279
|
-
let subShader = this.passShader.get(
|
|
22280
|
-
renderShader.passType
|
|
22281
|
-
);
|
|
22282
|
-
if (subShader) {
|
|
22283
|
-
if (index == -1) {
|
|
22284
|
-
let index2 = subShader.indexOf(renderShader);
|
|
22285
|
-
if (index2 != -1) {
|
|
22286
|
-
subShader.splice(index2);
|
|
22287
|
-
}
|
|
22288
|
-
} else {
|
|
22289
|
-
subShader.splice(index, 1);
|
|
22290
|
-
}
|
|
22291
|
-
}
|
|
22292
|
-
}
|
|
22293
|
-
removeShaderByIndex(passType, index = -1) {
|
|
22294
|
-
let subShader = this.passShader.get(passType);
|
|
22295
|
-
if (subShader) {
|
|
22296
|
-
if (index == -1) {
|
|
22297
|
-
this.passShader.delete(passType);
|
|
22298
|
-
} else {
|
|
22299
|
-
subShader.splice(index, 1);
|
|
22300
|
-
}
|
|
22301
|
-
}
|
|
22302
|
-
}
|
|
22303
|
-
getSubShaders(passType) {
|
|
22304
|
-
return this.passShader.get(passType) || [];
|
|
22305
|
-
}
|
|
22306
|
-
hasSubShaders(passType) {
|
|
22307
|
-
let subs = this.passShader.get(passType);
|
|
22308
|
-
return subs.length > 0;
|
|
22309
|
-
}
|
|
22310
|
-
getDefaultShaders() {
|
|
22311
|
-
return this.passShader.get(PassType.COLOR);
|
|
22312
|
-
}
|
|
22313
|
-
getDefaultColorShader() {
|
|
22314
|
-
return this.passShader.get(PassType.COLOR)[0];
|
|
22315
|
-
}
|
|
22316
|
-
setDefine(arg0, arg1) {
|
|
22317
|
-
for (const pass of this.passShader) {
|
|
22318
|
-
for (const rd of pass[1]) {
|
|
22319
|
-
rd.setDefine(arg0, arg1);
|
|
22320
|
-
}
|
|
22321
|
-
}
|
|
22322
|
-
}
|
|
22323
|
-
hasDefine(arg0) {
|
|
22324
|
-
for (const pass of this.passShader) {
|
|
22325
|
-
for (const rd of pass[1]) {
|
|
22326
|
-
let has = rd.hasDefine(arg0);
|
|
22327
|
-
if (has) return has;
|
|
22328
|
-
}
|
|
22329
|
-
}
|
|
22330
|
-
return false;
|
|
22331
|
-
}
|
|
22332
|
-
deleteDefine(arg0) {
|
|
22333
|
-
for (const pass of this.passShader) {
|
|
22334
|
-
for (const rd of pass[1]) {
|
|
22335
|
-
rd.deleteDefine(arg0);
|
|
22336
|
-
}
|
|
22337
|
-
}
|
|
22338
|
-
}
|
|
22339
|
-
setUniform(arg0, arg1) {
|
|
22340
|
-
for (const pass of this.passShader) {
|
|
22341
|
-
for (const rd of pass[1]) {
|
|
22342
|
-
rd.setUniform(arg0, arg1);
|
|
22343
|
-
}
|
|
22344
|
-
}
|
|
22345
|
-
}
|
|
22346
|
-
setUniformFloat(arg0, arg1) {
|
|
22347
|
-
for (const pass of this.passShader) {
|
|
22348
|
-
for (const rd of pass[1]) {
|
|
22349
|
-
rd.setUniformFloat(arg0, arg1);
|
|
22350
|
-
}
|
|
22351
|
-
}
|
|
22352
|
-
}
|
|
22353
|
-
setUniformVector2(arg0, arg1) {
|
|
22354
|
-
for (const pass of this.passShader) {
|
|
22355
|
-
for (const rd of pass[1]) {
|
|
22356
|
-
rd.setUniformVector2(arg0, arg1);
|
|
22357
|
-
}
|
|
22358
|
-
}
|
|
22359
|
-
}
|
|
22360
|
-
setUniformVector3(arg0, arg1) {
|
|
22361
|
-
for (const pass of this.passShader) {
|
|
22362
|
-
for (const rd of pass[1]) {
|
|
22363
|
-
rd.setUniformVector3(arg0, arg1);
|
|
22364
|
-
}
|
|
22365
|
-
}
|
|
22366
|
-
}
|
|
22367
|
-
setUniformVector4(arg0, arg1) {
|
|
22368
|
-
for (const pass of this.passShader) {
|
|
22369
|
-
for (const rd of pass[1]) {
|
|
22370
|
-
rd.setUniformVector4(arg0, arg1);
|
|
22371
|
-
}
|
|
22372
|
-
}
|
|
22373
|
-
}
|
|
22374
|
-
setUniformColor(arg0, arg1) {
|
|
22375
|
-
for (const pass of this.passShader) {
|
|
22376
|
-
for (const rd of pass[1]) {
|
|
22377
|
-
rd.setUniformColor(arg0, arg1);
|
|
22378
|
-
}
|
|
22379
|
-
}
|
|
22380
|
-
}
|
|
22381
|
-
getUniform(arg0) {
|
|
22382
|
-
return this.getDefaultColorShader().getUniform(arg0);
|
|
22383
|
-
}
|
|
22384
|
-
getUniformFloat(arg0) {
|
|
22385
|
-
return this.getDefaultColorShader().getUniformFloat(arg0);
|
|
22386
|
-
}
|
|
22387
|
-
getUniformVector2(arg0) {
|
|
22388
|
-
return this.getDefaultColorShader().getUniformVector2(arg0);
|
|
22389
|
-
}
|
|
22390
|
-
getUniformVector3(arg0) {
|
|
22391
|
-
return this.getDefaultColorShader().getUniformVector3(arg0);
|
|
22392
|
-
}
|
|
22393
|
-
getUniformVector4(arg0) {
|
|
22394
|
-
return this.getDefaultColorShader().getUniformVector4(arg0);
|
|
22395
|
-
}
|
|
22396
|
-
getUniformColor(arg0) {
|
|
22397
|
-
return this.getDefaultColorShader().getUniformColor(arg0);
|
|
22398
|
-
}
|
|
22399
|
-
setTexture(arg0, arg1) {
|
|
22400
|
-
for (const pass of this.passShader) {
|
|
22401
|
-
for (const rd of pass[1]) {
|
|
22402
|
-
rd.setTexture(arg0, arg1);
|
|
22403
|
-
}
|
|
22404
|
-
}
|
|
22405
|
-
this.setDefine(`USE_${arg0.toLocaleUpperCase()}`, true);
|
|
22406
|
-
}
|
|
22407
|
-
getTexture(arg0) {
|
|
22408
|
-
return this.getDefaultColorShader().textures[arg0];
|
|
22409
|
-
}
|
|
22410
|
-
setUniformBuffer(arg0, arg1) {
|
|
22411
|
-
for (const pass of this.passShader) {
|
|
22412
|
-
for (const rd of pass[1]) {
|
|
22413
|
-
rd.setUniformBuffer(arg0, arg1);
|
|
22414
|
-
}
|
|
22415
|
-
}
|
|
22416
|
-
}
|
|
22417
|
-
getUniformBuffer(arg0) {
|
|
22418
|
-
return this.getDefaultColorShader().getBuffer(arg0);
|
|
22419
|
-
}
|
|
22420
|
-
setStorageBuffer(arg0, arg1) {
|
|
22421
|
-
for (const pass of this.passShader) {
|
|
22422
|
-
for (const rd of pass[1]) {
|
|
22423
|
-
rd.setStorageBuffer(arg0, arg1);
|
|
22424
|
-
}
|
|
22425
|
-
}
|
|
22426
|
-
}
|
|
22427
|
-
getStorageBuffer(arg0) {
|
|
22428
|
-
return this.getDefaultColorShader().getBuffer(arg0);
|
|
22429
|
-
}
|
|
22430
|
-
setStructStorageBuffer(arg0, arg1) {
|
|
22431
|
-
for (const pass of this.passShader) {
|
|
22432
|
-
for (const rd of pass[1]) {
|
|
22433
|
-
rd.setStructStorageBuffer(arg0, arg1);
|
|
22434
|
-
}
|
|
22435
|
-
}
|
|
22436
|
-
}
|
|
22437
|
-
getStructStorageBuffer(arg0) {
|
|
22438
|
-
return this.getDefaultColorShader().getBuffer(arg0);
|
|
22439
|
-
}
|
|
22440
|
-
noticeValueChange() {
|
|
22441
|
-
for (const pass of this.passShader) {
|
|
22442
|
-
for (const rd of pass[1]) {
|
|
22443
|
-
rd.noticeValueChange();
|
|
22444
|
-
}
|
|
22445
|
-
}
|
|
22446
|
-
}
|
|
22447
|
-
destroy() {
|
|
22448
|
-
this.getDefaultColorShader().destroy();
|
|
22449
|
-
}
|
|
22450
|
-
clone() {
|
|
22451
|
-
let newShader = new Shader();
|
|
22452
|
-
let sourceShaderPassList = this.getDefaultShaders();
|
|
22453
|
-
for (const shadePass of sourceShaderPassList) {
|
|
22454
|
-
newShader.addRenderPass(shadePass);
|
|
22455
|
-
}
|
|
22456
|
-
return newShader;
|
|
22457
|
-
}
|
|
22458
|
-
applyUniform() {
|
|
22459
|
-
for (const pass of this.passShader) {
|
|
22460
|
-
for (const rd of pass[1]) {
|
|
22461
|
-
rd.applyUniform();
|
|
22462
|
-
}
|
|
22463
|
-
}
|
|
22464
|
-
}
|
|
22465
|
-
}
|
|
22466
|
-
|
|
22467
22493
|
class Material {
|
|
22468
22494
|
instanceID;
|
|
22469
22495
|
name;
|
|
@@ -22947,11 +22973,222 @@ const GSplat_FS = (
|
|
|
22947
22973
|
`
|
|
22948
22974
|
);
|
|
22949
22975
|
|
|
22950
|
-
class
|
|
22976
|
+
class Shader {
|
|
22977
|
+
computes;
|
|
22978
|
+
passShader;
|
|
22979
|
+
constructor() {
|
|
22980
|
+
this.computes = [];
|
|
22981
|
+
this.passShader = /* @__PURE__ */ new Map();
|
|
22982
|
+
}
|
|
22983
|
+
addRenderPass(renderShader, index = -1) {
|
|
22984
|
+
let subShader = this.passShader.get(renderShader.passType) || [];
|
|
22985
|
+
if (index == -1) {
|
|
22986
|
+
subShader.push(renderShader);
|
|
22987
|
+
} else {
|
|
22988
|
+
subShader.splice(index, -1, renderShader);
|
|
22989
|
+
}
|
|
22990
|
+
this.passShader.set(renderShader.passType, subShader);
|
|
22991
|
+
}
|
|
22992
|
+
removeShader(renderShader, index = -1) {
|
|
22993
|
+
let subShader = this.passShader.get(
|
|
22994
|
+
renderShader.passType
|
|
22995
|
+
);
|
|
22996
|
+
if (subShader) {
|
|
22997
|
+
if (index == -1) {
|
|
22998
|
+
let index2 = subShader.indexOf(renderShader);
|
|
22999
|
+
if (index2 != -1) {
|
|
23000
|
+
subShader.splice(index2);
|
|
23001
|
+
}
|
|
23002
|
+
} else {
|
|
23003
|
+
subShader.splice(index, 1);
|
|
23004
|
+
}
|
|
23005
|
+
}
|
|
23006
|
+
}
|
|
23007
|
+
removeShaderByIndex(passType, index = -1) {
|
|
23008
|
+
let subShader = this.passShader.get(passType);
|
|
23009
|
+
if (subShader) {
|
|
23010
|
+
if (index == -1) {
|
|
23011
|
+
this.passShader.delete(passType);
|
|
23012
|
+
} else {
|
|
23013
|
+
subShader.splice(index, 1);
|
|
23014
|
+
}
|
|
23015
|
+
}
|
|
23016
|
+
}
|
|
23017
|
+
getSubShaders(passType) {
|
|
23018
|
+
return this.passShader.get(passType) || [];
|
|
23019
|
+
}
|
|
23020
|
+
hasSubShaders(passType) {
|
|
23021
|
+
let subs = this.passShader.get(passType);
|
|
23022
|
+
return subs.length > 0;
|
|
23023
|
+
}
|
|
23024
|
+
getDefaultShaders() {
|
|
23025
|
+
return this.passShader.get(PassType.COLOR);
|
|
23026
|
+
}
|
|
23027
|
+
getDefaultColorShader() {
|
|
23028
|
+
return this.passShader.get(PassType.COLOR)[0];
|
|
23029
|
+
}
|
|
23030
|
+
setDefine(arg0, arg1) {
|
|
23031
|
+
for (const pass of this.passShader) {
|
|
23032
|
+
for (const rd of pass[1]) {
|
|
23033
|
+
rd.setDefine(arg0, arg1);
|
|
23034
|
+
}
|
|
23035
|
+
}
|
|
23036
|
+
}
|
|
23037
|
+
hasDefine(arg0) {
|
|
23038
|
+
for (const pass of this.passShader) {
|
|
23039
|
+
for (const rd of pass[1]) {
|
|
23040
|
+
let has = rd.hasDefine(arg0);
|
|
23041
|
+
if (has) return has;
|
|
23042
|
+
}
|
|
23043
|
+
}
|
|
23044
|
+
return false;
|
|
23045
|
+
}
|
|
23046
|
+
deleteDefine(arg0) {
|
|
23047
|
+
for (const pass of this.passShader) {
|
|
23048
|
+
for (const rd of pass[1]) {
|
|
23049
|
+
rd.deleteDefine(arg0);
|
|
23050
|
+
}
|
|
23051
|
+
}
|
|
23052
|
+
}
|
|
23053
|
+
setUniform(arg0, arg1) {
|
|
23054
|
+
for (const pass of this.passShader) {
|
|
23055
|
+
for (const rd of pass[1]) {
|
|
23056
|
+
rd.setUniform(arg0, arg1);
|
|
23057
|
+
}
|
|
23058
|
+
}
|
|
23059
|
+
}
|
|
23060
|
+
setUniformFloat(arg0, arg1) {
|
|
23061
|
+
for (const pass of this.passShader) {
|
|
23062
|
+
for (const rd of pass[1]) {
|
|
23063
|
+
rd.setUniformFloat(arg0, arg1);
|
|
23064
|
+
}
|
|
23065
|
+
}
|
|
23066
|
+
}
|
|
23067
|
+
setUniformVector2(arg0, arg1) {
|
|
23068
|
+
for (const pass of this.passShader) {
|
|
23069
|
+
for (const rd of pass[1]) {
|
|
23070
|
+
rd.setUniformVector2(arg0, arg1);
|
|
23071
|
+
}
|
|
23072
|
+
}
|
|
23073
|
+
}
|
|
23074
|
+
setUniformVector3(arg0, arg1) {
|
|
23075
|
+
for (const pass of this.passShader) {
|
|
23076
|
+
for (const rd of pass[1]) {
|
|
23077
|
+
rd.setUniformVector3(arg0, arg1);
|
|
23078
|
+
}
|
|
23079
|
+
}
|
|
23080
|
+
}
|
|
23081
|
+
setUniformVector4(arg0, arg1) {
|
|
23082
|
+
for (const pass of this.passShader) {
|
|
23083
|
+
for (const rd of pass[1]) {
|
|
23084
|
+
rd.setUniformVector4(arg0, arg1);
|
|
23085
|
+
}
|
|
23086
|
+
}
|
|
23087
|
+
}
|
|
23088
|
+
setUniformColor(arg0, arg1) {
|
|
23089
|
+
for (const pass of this.passShader) {
|
|
23090
|
+
for (const rd of pass[1]) {
|
|
23091
|
+
rd.setUniformColor(arg0, arg1);
|
|
23092
|
+
}
|
|
23093
|
+
}
|
|
23094
|
+
}
|
|
23095
|
+
getUniform(arg0) {
|
|
23096
|
+
return this.getDefaultColorShader().getUniform(arg0);
|
|
23097
|
+
}
|
|
23098
|
+
getUniformFloat(arg0) {
|
|
23099
|
+
return this.getDefaultColorShader().getUniformFloat(arg0);
|
|
23100
|
+
}
|
|
23101
|
+
getUniformVector2(arg0) {
|
|
23102
|
+
return this.getDefaultColorShader().getUniformVector2(arg0);
|
|
23103
|
+
}
|
|
23104
|
+
getUniformVector3(arg0) {
|
|
23105
|
+
return this.getDefaultColorShader().getUniformVector3(arg0);
|
|
23106
|
+
}
|
|
23107
|
+
getUniformVector4(arg0) {
|
|
23108
|
+
return this.getDefaultColorShader().getUniformVector4(arg0);
|
|
23109
|
+
}
|
|
23110
|
+
getUniformColor(arg0) {
|
|
23111
|
+
return this.getDefaultColorShader().getUniformColor(arg0);
|
|
23112
|
+
}
|
|
23113
|
+
setTexture(arg0, arg1) {
|
|
23114
|
+
for (const pass of this.passShader) {
|
|
23115
|
+
for (const rd of pass[1]) {
|
|
23116
|
+
rd.setTexture(arg0, arg1);
|
|
23117
|
+
}
|
|
23118
|
+
}
|
|
23119
|
+
this.setDefine(`USE_${arg0.toLocaleUpperCase()}`, true);
|
|
23120
|
+
}
|
|
23121
|
+
getTexture(arg0) {
|
|
23122
|
+
return this.getDefaultColorShader().textures[arg0];
|
|
23123
|
+
}
|
|
23124
|
+
setUniformBuffer(arg0, arg1) {
|
|
23125
|
+
for (const pass of this.passShader) {
|
|
23126
|
+
for (const rd of pass[1]) {
|
|
23127
|
+
rd.setUniformBuffer(arg0, arg1);
|
|
23128
|
+
}
|
|
23129
|
+
}
|
|
23130
|
+
}
|
|
23131
|
+
getUniformBuffer(arg0) {
|
|
23132
|
+
return this.getDefaultColorShader().getBuffer(arg0);
|
|
23133
|
+
}
|
|
23134
|
+
setStorageBuffer(arg0, arg1) {
|
|
23135
|
+
for (const pass of this.passShader) {
|
|
23136
|
+
for (const rd of pass[1]) {
|
|
23137
|
+
rd.setStorageBuffer(arg0, arg1);
|
|
23138
|
+
}
|
|
23139
|
+
}
|
|
23140
|
+
}
|
|
23141
|
+
getStorageBuffer(arg0) {
|
|
23142
|
+
return this.getDefaultColorShader().getBuffer(arg0);
|
|
23143
|
+
}
|
|
23144
|
+
setStructStorageBuffer(arg0, arg1) {
|
|
23145
|
+
for (const pass of this.passShader) {
|
|
23146
|
+
for (const rd of pass[1]) {
|
|
23147
|
+
rd.setStructStorageBuffer(arg0, arg1);
|
|
23148
|
+
}
|
|
23149
|
+
}
|
|
23150
|
+
}
|
|
23151
|
+
getStructStorageBuffer(arg0) {
|
|
23152
|
+
return this.getDefaultColorShader().getBuffer(arg0);
|
|
23153
|
+
}
|
|
23154
|
+
noticeValueChange() {
|
|
23155
|
+
for (const pass of this.passShader) {
|
|
23156
|
+
for (const rd of pass[1]) {
|
|
23157
|
+
rd.noticeValueChange();
|
|
23158
|
+
}
|
|
23159
|
+
}
|
|
23160
|
+
}
|
|
23161
|
+
destroy() {
|
|
23162
|
+
this.getDefaultColorShader().destroy();
|
|
23163
|
+
}
|
|
23164
|
+
clone() {
|
|
23165
|
+
let newShader = new Shader();
|
|
23166
|
+
let sourceShaderPassList = this.getDefaultShaders();
|
|
23167
|
+
for (const shadePass of sourceShaderPassList) {
|
|
23168
|
+
newShader.addRenderPass(shadePass);
|
|
23169
|
+
}
|
|
23170
|
+
return newShader;
|
|
23171
|
+
}
|
|
23172
|
+
applyUniform() {
|
|
23173
|
+
for (const pass of this.passShader) {
|
|
23174
|
+
for (const rd of pass[1]) {
|
|
23175
|
+
rd.applyUniform();
|
|
23176
|
+
}
|
|
23177
|
+
}
|
|
23178
|
+
}
|
|
23179
|
+
}
|
|
23180
|
+
|
|
23181
|
+
var __getOwnPropDesc$k = Object.getOwnPropertyDescriptor;
|
|
23182
|
+
var __decorateClass$k = (decorators, target, key, kind) => {
|
|
23183
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$k(target, key) : target;
|
|
23184
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
23185
|
+
if (decorator = decorators[i])
|
|
23186
|
+
result = (decorator(result)) || result;
|
|
23187
|
+
return result;
|
|
23188
|
+
};
|
|
23189
|
+
let GSplatShader = class extends Shader {
|
|
22951
23190
|
constructor() {
|
|
22952
23191
|
super();
|
|
22953
|
-
ShaderLib.register("gsplat_vs_dc", GSplat_VS);
|
|
22954
|
-
ShaderLib.register("gsplat_fs_dc", GSplat_FS);
|
|
22955
23192
|
const pass = new RenderShaderPass("gsplat_vs_dc", "gsplat_fs_dc");
|
|
22956
23193
|
pass.passType = PassType.COLOR;
|
|
22957
23194
|
pass.setShaderEntry("VertMain", "FragMain");
|
|
@@ -22961,9 +23198,29 @@ class GSplatMaterial extends Material {
|
|
|
22961
23198
|
pass.shaderState.transparent = true;
|
|
22962
23199
|
pass.shaderState.blendMode = BlendMode.NORMAL;
|
|
22963
23200
|
pass.shaderState.writeMasks = [15, 15];
|
|
22964
|
-
|
|
22965
|
-
|
|
22966
|
-
|
|
23201
|
+
this.addRenderPass(pass);
|
|
23202
|
+
this.setDefault();
|
|
23203
|
+
}
|
|
23204
|
+
/**
|
|
23205
|
+
* Set default uniform values
|
|
23206
|
+
*/
|
|
23207
|
+
setDefault() {
|
|
23208
|
+
const pass = this.getDefaultColorShader();
|
|
23209
|
+
const identityMatrix = new Matrix4();
|
|
23210
|
+
pass.setUniform("modelMatrix", identityMatrix.rawData);
|
|
23211
|
+
pass.setUniform("pixelCull", new Float32Array([2, 0, 0, 0]));
|
|
23212
|
+
}
|
|
23213
|
+
};
|
|
23214
|
+
GSplatShader = __decorateClass$k([
|
|
23215
|
+
RegisterShader(GSplatShader, "GSplatShader")
|
|
23216
|
+
], GSplatShader);
|
|
23217
|
+
|
|
23218
|
+
class GSplatMaterial extends Material {
|
|
23219
|
+
constructor() {
|
|
23220
|
+
super();
|
|
23221
|
+
ShaderLib.register("gsplat_vs_dc", GSplat_VS);
|
|
23222
|
+
ShaderLib.register("gsplat_fs_dc", GSplat_FS);
|
|
23223
|
+
this.shader = new GSplatShader();
|
|
22967
23224
|
}
|
|
22968
23225
|
setSplatTextures(splatColor, transformA, transformB, texParams, splatOrder) {
|
|
22969
23226
|
const pass = this.shader.getDefaultColorShader();
|
|
@@ -23972,9 +24229,9 @@ class Float16ArrayTexture extends Texture {
|
|
|
23972
24229
|
}
|
|
23973
24230
|
}
|
|
23974
24231
|
|
|
23975
|
-
var __getOwnPropDesc$
|
|
23976
|
-
var __decorateClass$
|
|
23977
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
24232
|
+
var __getOwnPropDesc$j = Object.getOwnPropertyDescriptor;
|
|
24233
|
+
var __decorateClass$j = (decorators, target, key, kind) => {
|
|
24234
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$j(target, key) : target;
|
|
23978
24235
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
23979
24236
|
if (decorator = decorators[i])
|
|
23980
24237
|
result = (decorator(result)) || result;
|
|
@@ -24727,7 +24984,7 @@ let GSplatRenderer = class extends RenderNode {
|
|
|
24727
24984
|
super.destroy(force);
|
|
24728
24985
|
}
|
|
24729
24986
|
};
|
|
24730
|
-
GSplatRenderer = __decorateClass$
|
|
24987
|
+
GSplatRenderer = __decorateClass$j([
|
|
24731
24988
|
RegisterComponent(GSplatRenderer, "GSplatRenderer")
|
|
24732
24989
|
], GSplatRenderer);
|
|
24733
24990
|
|
|
@@ -25038,9 +25295,9 @@ class Entity extends CEventDispatcher {
|
|
|
25038
25295
|
}
|
|
25039
25296
|
}
|
|
25040
25297
|
|
|
25041
|
-
var __getOwnPropDesc$
|
|
25042
|
-
var __decorateClass$
|
|
25043
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
25298
|
+
var __getOwnPropDesc$i = Object.getOwnPropertyDescriptor;
|
|
25299
|
+
var __decorateClass$i = (decorators, target, key, kind) => {
|
|
25300
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$i(target, key) : target;
|
|
25044
25301
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
25045
25302
|
if (decorator = decorators[i])
|
|
25046
25303
|
result = (decorator(result)) || result;
|
|
@@ -25305,7 +25562,7 @@ let Object3D = class extends Entity {
|
|
|
25305
25562
|
super.destroy(force);
|
|
25306
25563
|
}
|
|
25307
25564
|
};
|
|
25308
|
-
Object3D = __decorateClass$
|
|
25565
|
+
Object3D = __decorateClass$i([
|
|
25309
25566
|
DecorateObject3D
|
|
25310
25567
|
], Object3D);
|
|
25311
25568
|
function DecorateObject3D(ctor, _) {
|
|
@@ -26634,9 +26891,9 @@ class MorphTargetData {
|
|
|
26634
26891
|
}
|
|
26635
26892
|
|
|
26636
26893
|
var __defProp = Object.defineProperty;
|
|
26637
|
-
var __getOwnPropDesc$
|
|
26638
|
-
var __decorateClass$
|
|
26639
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
26894
|
+
var __getOwnPropDesc$h = Object.getOwnPropertyDescriptor;
|
|
26895
|
+
var __decorateClass$h = (decorators, target, key, kind) => {
|
|
26896
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$h(target, key) : target;
|
|
26640
26897
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
26641
26898
|
if (decorator = decorators[i])
|
|
26642
26899
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
@@ -26745,13 +27002,13 @@ let MeshRenderer = class extends RenderNode {
|
|
|
26745
27002
|
super.destroy(force);
|
|
26746
27003
|
}
|
|
26747
27004
|
};
|
|
26748
|
-
__decorateClass$
|
|
27005
|
+
__decorateClass$h([
|
|
26749
27006
|
EditorInspector
|
|
26750
27007
|
], MeshRenderer.prototype, "geometry", 1);
|
|
26751
|
-
__decorateClass$
|
|
27008
|
+
__decorateClass$h([
|
|
26752
27009
|
EditorInspector
|
|
26753
27010
|
], MeshRenderer.prototype, "material", 1);
|
|
26754
|
-
MeshRenderer = __decorateClass$
|
|
27011
|
+
MeshRenderer = __decorateClass$h([
|
|
26755
27012
|
RegisterComponent(MeshRenderer, "MeshRenderer")
|
|
26756
27013
|
], MeshRenderer);
|
|
26757
27014
|
|
|
@@ -27248,9 +27505,9 @@ class WebGPUDescriptorCreator {
|
|
|
27248
27505
|
}
|
|
27249
27506
|
}
|
|
27250
27507
|
|
|
27251
|
-
var __getOwnPropDesc$
|
|
27252
|
-
var __decorateClass$
|
|
27253
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
27508
|
+
var __getOwnPropDesc$g = Object.getOwnPropertyDescriptor;
|
|
27509
|
+
var __decorateClass$g = (decorators, target, key, kind) => {
|
|
27510
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$g(target, key) : target;
|
|
27254
27511
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
27255
27512
|
if (decorator = decorators[i])
|
|
27256
27513
|
result = (decorator(result)) || result;
|
|
@@ -27274,7 +27531,7 @@ let QuadShader = class extends Shader {
|
|
|
27274
27531
|
this.setUniformFloat(`height`, 100);
|
|
27275
27532
|
}
|
|
27276
27533
|
};
|
|
27277
|
-
QuadShader = __decorateClass$
|
|
27534
|
+
QuadShader = __decorateClass$g([
|
|
27278
27535
|
RegisterShader(QuadShader, "QuadShader")
|
|
27279
27536
|
], QuadShader);
|
|
27280
27537
|
|
|
@@ -34548,9 +34805,9 @@ class LightBase extends ComponentBase {
|
|
|
34548
34805
|
}
|
|
34549
34806
|
}
|
|
34550
34807
|
|
|
34551
|
-
var __getOwnPropDesc$
|
|
34552
|
-
var __decorateClass$
|
|
34553
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
34808
|
+
var __getOwnPropDesc$f = Object.getOwnPropertyDescriptor;
|
|
34809
|
+
var __decorateClass$f = (decorators, target, key, kind) => {
|
|
34810
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$f(target, key) : target;
|
|
34554
34811
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
34555
34812
|
if (decorator = decorators[i])
|
|
34556
34813
|
result = (decorator(result)) || result;
|
|
@@ -34592,13 +34849,13 @@ let DirectLight = class extends LightBase {
|
|
|
34592
34849
|
debug() {
|
|
34593
34850
|
}
|
|
34594
34851
|
};
|
|
34595
|
-
DirectLight = __decorateClass$
|
|
34852
|
+
DirectLight = __decorateClass$f([
|
|
34596
34853
|
RegisterComponent(DirectLight, "DirectLight")
|
|
34597
34854
|
], DirectLight);
|
|
34598
34855
|
|
|
34599
|
-
var __getOwnPropDesc$
|
|
34600
|
-
var __decorateClass$
|
|
34601
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
34856
|
+
var __getOwnPropDesc$e = Object.getOwnPropertyDescriptor;
|
|
34857
|
+
var __decorateClass$e = (decorators, target, key, kind) => {
|
|
34858
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$e(target, key) : target;
|
|
34602
34859
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
34603
34860
|
if (decorator = decorators[i])
|
|
34604
34861
|
result = (decorator(result)) || result;
|
|
@@ -34656,13 +34913,13 @@ let PointLight = class extends LightBase {
|
|
|
34656
34913
|
debugDraw(show) {
|
|
34657
34914
|
}
|
|
34658
34915
|
};
|
|
34659
|
-
PointLight = __decorateClass$
|
|
34916
|
+
PointLight = __decorateClass$e([
|
|
34660
34917
|
RegisterComponent(PointLight, "PointLight")
|
|
34661
34918
|
], PointLight);
|
|
34662
34919
|
|
|
34663
|
-
var __getOwnPropDesc$
|
|
34664
|
-
var __decorateClass$
|
|
34665
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
34920
|
+
var __getOwnPropDesc$d = Object.getOwnPropertyDescriptor;
|
|
34921
|
+
var __decorateClass$d = (decorators, target, key, kind) => {
|
|
34922
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$d(target, key) : target;
|
|
34666
34923
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
34667
34924
|
if (decorator = decorators[i])
|
|
34668
34925
|
result = (decorator(result)) || result;
|
|
@@ -34727,7 +34984,7 @@ let SpotLight = class extends LightBase {
|
|
|
34727
34984
|
debugDraw(show) {
|
|
34728
34985
|
}
|
|
34729
34986
|
};
|
|
34730
|
-
SpotLight = __decorateClass$
|
|
34987
|
+
SpotLight = __decorateClass$d([
|
|
34731
34988
|
RegisterComponent(SpotLight, "SpotLight")
|
|
34732
34989
|
], SpotLight);
|
|
34733
34990
|
|
|
@@ -40527,7 +40784,7 @@ class PostProcessingComponent extends ComponentBase {
|
|
|
40527
40784
|
}
|
|
40528
40785
|
}
|
|
40529
40786
|
|
|
40530
|
-
const version = "1.0.
|
|
40787
|
+
const version = "1.0.12";
|
|
40531
40788
|
|
|
40532
40789
|
class Engine3D {
|
|
40533
40790
|
/**
|
|
@@ -45040,9 +45297,9 @@ class AtmosphericTexture2D extends VirtualTexture {
|
|
|
45040
45297
|
}
|
|
45041
45298
|
}
|
|
45042
45299
|
|
|
45043
|
-
var __getOwnPropDesc$
|
|
45044
|
-
var __decorateClass$
|
|
45045
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
45300
|
+
var __getOwnPropDesc$c = Object.getOwnPropertyDescriptor;
|
|
45301
|
+
var __decorateClass$c = (decorators, target, key, kind) => {
|
|
45302
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$c(target, key) : target;
|
|
45046
45303
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
45047
45304
|
if (decorator = decorators[i])
|
|
45048
45305
|
result = (decorator(result)) || result;
|
|
@@ -45066,7 +45323,7 @@ let SkyShader = class extends Shader {
|
|
|
45066
45323
|
shaderState.depthCompare = GPUCompareFunction.less;
|
|
45067
45324
|
}
|
|
45068
45325
|
};
|
|
45069
|
-
SkyShader = __decorateClass$
|
|
45326
|
+
SkyShader = __decorateClass$c([
|
|
45070
45327
|
RegisterShader(SkyShader, "SkyShader")
|
|
45071
45328
|
], SkyShader);
|
|
45072
45329
|
|
|
@@ -45864,9 +46121,9 @@ class SkeletonAnimationClipState {
|
|
|
45864
46121
|
}
|
|
45865
46122
|
}
|
|
45866
46123
|
|
|
45867
|
-
var __getOwnPropDesc$
|
|
45868
|
-
var __decorateClass$
|
|
45869
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
46124
|
+
var __getOwnPropDesc$b = Object.getOwnPropertyDescriptor;
|
|
46125
|
+
var __decorateClass$b = (decorators, target, key, kind) => {
|
|
46126
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$b(target, key) : target;
|
|
45870
46127
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
45871
46128
|
if (decorator = decorators[i])
|
|
45872
46129
|
result = (decorator(result)) || result;
|
|
@@ -46070,7 +46327,7 @@ let SkeletonAnimationComponent = class extends ComponentBase {
|
|
|
46070
46327
|
this._currentClipState.weight = 1;
|
|
46071
46328
|
}
|
|
46072
46329
|
};
|
|
46073
|
-
SkeletonAnimationComponent = __decorateClass$
|
|
46330
|
+
SkeletonAnimationComponent = __decorateClass$b([
|
|
46074
46331
|
RegisterComponent(SkeletonAnimationComponent, "SkeletonAnimationComponent")
|
|
46075
46332
|
], SkeletonAnimationComponent);
|
|
46076
46333
|
class SkeletonAnimationCrossFadeState {
|
|
@@ -46106,9 +46363,9 @@ class SkeletonAnimationCrossFadeState {
|
|
|
46106
46363
|
}
|
|
46107
46364
|
}
|
|
46108
46365
|
|
|
46109
|
-
var __getOwnPropDesc$
|
|
46110
|
-
var __decorateClass$
|
|
46111
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
46366
|
+
var __getOwnPropDesc$a = Object.getOwnPropertyDescriptor;
|
|
46367
|
+
var __decorateClass$a = (decorators, target, key, kind) => {
|
|
46368
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$a(target, key) : target;
|
|
46112
46369
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
46113
46370
|
if (decorator = decorators[i])
|
|
46114
46371
|
result = (decorator(result)) || result;
|
|
@@ -46519,7 +46776,7 @@ let AnimatorComponent = class extends ComponentBase {
|
|
|
46519
46776
|
return dst;
|
|
46520
46777
|
}
|
|
46521
46778
|
};
|
|
46522
|
-
AnimatorComponent = __decorateClass$
|
|
46779
|
+
AnimatorComponent = __decorateClass$a([
|
|
46523
46780
|
RegisterComponent(AnimatorComponent, "AnimatorComponent")
|
|
46524
46781
|
], AnimatorComponent);
|
|
46525
46782
|
class PropertyAnimationClipState {
|
|
@@ -47276,9 +47533,9 @@ class PropertyAnimation extends ComponentBase {
|
|
|
47276
47533
|
}
|
|
47277
47534
|
}
|
|
47278
47535
|
|
|
47279
|
-
var __getOwnPropDesc$
|
|
47280
|
-
var __decorateClass$
|
|
47281
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
47536
|
+
var __getOwnPropDesc$9 = Object.getOwnPropertyDescriptor;
|
|
47537
|
+
var __decorateClass$9 = (decorators, target, key, kind) => {
|
|
47538
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$9(target, key) : target;
|
|
47282
47539
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
47283
47540
|
if (decorator = decorators[i])
|
|
47284
47541
|
result = (decorator(result)) || result;
|
|
@@ -47427,7 +47684,7 @@ let SkinnedMeshRenderer2 = class extends MeshRenderer {
|
|
|
47427
47684
|
super.nodeUpdate(view, passType, renderPassState, clusterLightingBuffer);
|
|
47428
47685
|
}
|
|
47429
47686
|
};
|
|
47430
|
-
SkinnedMeshRenderer2 = __decorateClass$
|
|
47687
|
+
SkinnedMeshRenderer2 = __decorateClass$9([
|
|
47431
47688
|
RegisterComponent(SkinnedMeshRenderer2, "SkinnedMeshRenderer2")
|
|
47432
47689
|
], SkinnedMeshRenderer2);
|
|
47433
47690
|
|
|
@@ -52560,9 +52817,9 @@ class UITextField extends UIRenderAble {
|
|
|
52560
52817
|
}
|
|
52561
52818
|
}
|
|
52562
52819
|
|
|
52563
|
-
var __getOwnPropDesc$
|
|
52564
|
-
var __decorateClass$
|
|
52565
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
52820
|
+
var __getOwnPropDesc$8 = Object.getOwnPropertyDescriptor;
|
|
52821
|
+
var __decorateClass$8 = (decorators, target, key, kind) => {
|
|
52822
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$8(target, key) : target;
|
|
52566
52823
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
52567
52824
|
if (decorator = decorators[i])
|
|
52568
52825
|
result = (decorator(result)) || result;
|
|
@@ -52639,10 +52896,86 @@ let Light = class extends LightBase {
|
|
|
52639
52896
|
debugDraw(show) {
|
|
52640
52897
|
}
|
|
52641
52898
|
};
|
|
52642
|
-
Light = __decorateClass$
|
|
52899
|
+
Light = __decorateClass$8([
|
|
52643
52900
|
RegisterComponent(Light, "Light")
|
|
52644
52901
|
], Light);
|
|
52645
52902
|
|
|
52903
|
+
var __getOwnPropDesc$7 = Object.getOwnPropertyDescriptor;
|
|
52904
|
+
var __decorateClass$7 = (decorators, target, key, kind) => {
|
|
52905
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$7(target, key) : target;
|
|
52906
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
52907
|
+
if (decorator = decorators[i])
|
|
52908
|
+
result = (decorator(result)) || result;
|
|
52909
|
+
return result;
|
|
52910
|
+
};
|
|
52911
|
+
let FatLineRenderer = class extends RenderNode {
|
|
52912
|
+
_fatLineMaterial = null;
|
|
52913
|
+
_fatLineGeometry = null;
|
|
52914
|
+
constructor() {
|
|
52915
|
+
super();
|
|
52916
|
+
}
|
|
52917
|
+
onEnable() {
|
|
52918
|
+
super.onEnable();
|
|
52919
|
+
}
|
|
52920
|
+
onDisable() {
|
|
52921
|
+
super.onDisable();
|
|
52922
|
+
}
|
|
52923
|
+
cloneTo(obj) {
|
|
52924
|
+
const component = obj.addComponent(FatLineRenderer);
|
|
52925
|
+
component.copyComponent(this);
|
|
52926
|
+
}
|
|
52927
|
+
copyComponent(from) {
|
|
52928
|
+
super.copyComponent(from);
|
|
52929
|
+
return this;
|
|
52930
|
+
}
|
|
52931
|
+
/**
|
|
52932
|
+
* Set FatLine geometry
|
|
52933
|
+
*/
|
|
52934
|
+
set geometry(value) {
|
|
52935
|
+
super.geometry = value;
|
|
52936
|
+
this._fatLineGeometry = value;
|
|
52937
|
+
if (value) {
|
|
52938
|
+
this.instanceCount = value.instanceCount;
|
|
52939
|
+
if (this._fatLineMaterial && value.instanceBuffer) {
|
|
52940
|
+
this._fatLineMaterial.setInstanceBuffer(value.instanceBuffer);
|
|
52941
|
+
}
|
|
52942
|
+
}
|
|
52943
|
+
}
|
|
52944
|
+
get geometry() {
|
|
52945
|
+
return this._fatLineGeometry;
|
|
52946
|
+
}
|
|
52947
|
+
/**
|
|
52948
|
+
* Set FatLine material
|
|
52949
|
+
*/
|
|
52950
|
+
set material(value) {
|
|
52951
|
+
this.materials = [value];
|
|
52952
|
+
this._fatLineMaterial = value;
|
|
52953
|
+
if (this._fatLineGeometry && this._fatLineGeometry.instanceBuffer) {
|
|
52954
|
+
value.setInstanceBuffer(this._fatLineGeometry.instanceBuffer);
|
|
52955
|
+
}
|
|
52956
|
+
}
|
|
52957
|
+
get material() {
|
|
52958
|
+
return this._fatLineMaterial;
|
|
52959
|
+
}
|
|
52960
|
+
/**
|
|
52961
|
+
* Override nodeUpdate to automatically update FatLine-specific uniforms
|
|
52962
|
+
*/
|
|
52963
|
+
nodeUpdate(view, passType, renderPassState, clusterLightingBuffer) {
|
|
52964
|
+
if (this._fatLineMaterial && this.object3D) {
|
|
52965
|
+
this._fatLineMaterial.setModelMatrix(this.object3D.transform.worldMatrix);
|
|
52966
|
+
const width = webGPUContext.presentationSize[0];
|
|
52967
|
+
const height = webGPUContext.presentationSize[1];
|
|
52968
|
+
if (width > 0 && height > 0) {
|
|
52969
|
+
this._fatLineMaterial.resolution = new Vector2(width, height);
|
|
52970
|
+
}
|
|
52971
|
+
}
|
|
52972
|
+
super.nodeUpdate(view, passType, renderPassState, clusterLightingBuffer);
|
|
52973
|
+
}
|
|
52974
|
+
};
|
|
52975
|
+
FatLineRenderer = __decorateClass$7([
|
|
52976
|
+
RegisterComponent(FatLineRenderer, "FatLineRenderer")
|
|
52977
|
+
], FatLineRenderer);
|
|
52978
|
+
|
|
52646
52979
|
class Probe extends Object3D {
|
|
52647
52980
|
index = 0;
|
|
52648
52981
|
drawCallFrame = -1;
|
|
@@ -52941,9 +53274,9 @@ class InstanceDrawComponent extends RenderNode {
|
|
|
52941
53274
|
}
|
|
52942
53275
|
}
|
|
52943
53276
|
|
|
52944
|
-
var __getOwnPropDesc$
|
|
52945
|
-
var __decorateClass$
|
|
52946
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
53277
|
+
var __getOwnPropDesc$6 = Object.getOwnPropertyDescriptor;
|
|
53278
|
+
var __decorateClass$6 = (decorators, target, key, kind) => {
|
|
53279
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$6(target, key) : target;
|
|
52947
53280
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
52948
53281
|
if (decorator = decorators[i])
|
|
52949
53282
|
result = (decorator(result)) || result;
|
|
@@ -52969,13 +53302,13 @@ let MeshFilter = class extends MeshRenderer {
|
|
|
52969
53302
|
}
|
|
52970
53303
|
}
|
|
52971
53304
|
};
|
|
52972
|
-
MeshFilter = __decorateClass$
|
|
53305
|
+
MeshFilter = __decorateClass$6([
|
|
52973
53306
|
RegisterComponent(MeshFilter, "MeshFilter")
|
|
52974
53307
|
], MeshFilter);
|
|
52975
53308
|
|
|
52976
|
-
var __getOwnPropDesc$
|
|
52977
|
-
var __decorateClass$
|
|
52978
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
53309
|
+
var __getOwnPropDesc$5 = Object.getOwnPropertyDescriptor;
|
|
53310
|
+
var __decorateClass$5 = (decorators, target, key, kind) => {
|
|
53311
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$5(target, key) : target;
|
|
52979
53312
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
52980
53313
|
if (decorator = decorators[i])
|
|
52981
53314
|
result = (decorator(result)) || result;
|
|
@@ -53101,7 +53434,7 @@ let SkinnedMeshRenderer = class extends MeshRenderer {
|
|
|
53101
53434
|
super.nodeUpdate(view, passType, renderPassState, clusterLightingBuffer);
|
|
53102
53435
|
}
|
|
53103
53436
|
};
|
|
53104
|
-
SkinnedMeshRenderer = __decorateClass$
|
|
53437
|
+
SkinnedMeshRenderer = __decorateClass$5([
|
|
53105
53438
|
RegisterComponent(SkinnedMeshRenderer, "SkinnedMeshRenderer")
|
|
53106
53439
|
], SkinnedMeshRenderer);
|
|
53107
53440
|
|
|
@@ -53933,6 +54266,230 @@ class ExtrudeGeometry extends GeometryBase {
|
|
|
53933
54266
|
}
|
|
53934
54267
|
}
|
|
53935
54268
|
|
|
54269
|
+
class FatLineGeometry extends GeometryBase {
|
|
54270
|
+
_instanceBuffer;
|
|
54271
|
+
_instanceData;
|
|
54272
|
+
_instanceCount = 0;
|
|
54273
|
+
constructor() {
|
|
54274
|
+
super();
|
|
54275
|
+
this.initBaseGeometry();
|
|
54276
|
+
}
|
|
54277
|
+
/**
|
|
54278
|
+
* Initialize base quad geometry (shared by all line segments)
|
|
54279
|
+
* This is similar to ThreeJS LineSegmentsGeometry base geometry
|
|
54280
|
+
*/
|
|
54281
|
+
initBaseGeometry() {
|
|
54282
|
+
const positions = new Float32Array([
|
|
54283
|
+
-1,
|
|
54284
|
+
2,
|
|
54285
|
+
0,
|
|
54286
|
+
1,
|
|
54287
|
+
2,
|
|
54288
|
+
0,
|
|
54289
|
+
// Top endcap
|
|
54290
|
+
-1,
|
|
54291
|
+
1,
|
|
54292
|
+
0,
|
|
54293
|
+
1,
|
|
54294
|
+
1,
|
|
54295
|
+
0,
|
|
54296
|
+
// Top of line segment
|
|
54297
|
+
-1,
|
|
54298
|
+
0,
|
|
54299
|
+
0,
|
|
54300
|
+
1,
|
|
54301
|
+
0,
|
|
54302
|
+
0,
|
|
54303
|
+
// Bottom of line segment
|
|
54304
|
+
-1,
|
|
54305
|
+
-1,
|
|
54306
|
+
0,
|
|
54307
|
+
1,
|
|
54308
|
+
-1,
|
|
54309
|
+
0
|
|
54310
|
+
// Bottom endcap
|
|
54311
|
+
]);
|
|
54312
|
+
const uvs = new Float32Array([
|
|
54313
|
+
-1,
|
|
54314
|
+
2,
|
|
54315
|
+
1,
|
|
54316
|
+
2,
|
|
54317
|
+
-1,
|
|
54318
|
+
1,
|
|
54319
|
+
1,
|
|
54320
|
+
1,
|
|
54321
|
+
-1,
|
|
54322
|
+
-1,
|
|
54323
|
+
1,
|
|
54324
|
+
-1,
|
|
54325
|
+
-1,
|
|
54326
|
+
-2,
|
|
54327
|
+
1,
|
|
54328
|
+
-2
|
|
54329
|
+
]);
|
|
54330
|
+
const indices = new Uint16Array([
|
|
54331
|
+
0,
|
|
54332
|
+
2,
|
|
54333
|
+
1,
|
|
54334
|
+
2,
|
|
54335
|
+
3,
|
|
54336
|
+
1,
|
|
54337
|
+
// First quad
|
|
54338
|
+
2,
|
|
54339
|
+
4,
|
|
54340
|
+
3,
|
|
54341
|
+
4,
|
|
54342
|
+
5,
|
|
54343
|
+
3,
|
|
54344
|
+
// Second quad
|
|
54345
|
+
4,
|
|
54346
|
+
6,
|
|
54347
|
+
5,
|
|
54348
|
+
6,
|
|
54349
|
+
7,
|
|
54350
|
+
5
|
|
54351
|
+
// Third quad
|
|
54352
|
+
]);
|
|
54353
|
+
this.setIndices(indices);
|
|
54354
|
+
this.setAttribute(VertexAttributeName.position, positions);
|
|
54355
|
+
this.setAttribute(VertexAttributeName.uv, uvs);
|
|
54356
|
+
this.addSubGeometry({
|
|
54357
|
+
indexStart: 0,
|
|
54358
|
+
indexCount: indices.length,
|
|
54359
|
+
vertexStart: 0,
|
|
54360
|
+
vertexCount: positions.length / 3,
|
|
54361
|
+
firstStart: 0,
|
|
54362
|
+
index: 0,
|
|
54363
|
+
topology: 0
|
|
54364
|
+
});
|
|
54365
|
+
}
|
|
54366
|
+
/**
|
|
54367
|
+
* Set line positions from continuous points array
|
|
54368
|
+
* @param positions Array of positions [x1,y1,z1, x2,y2,z2, ...]
|
|
54369
|
+
*/
|
|
54370
|
+
setPositions(positions) {
|
|
54371
|
+
const posArray = positions instanceof Float32Array ? positions : new Float32Array(positions);
|
|
54372
|
+
const numPoints = posArray.length / 3;
|
|
54373
|
+
const numSegments = numPoints - 1;
|
|
54374
|
+
if (numSegments <= 0) {
|
|
54375
|
+
console.warn("FatLineGeometry: Need at least 2 points");
|
|
54376
|
+
return this;
|
|
54377
|
+
}
|
|
54378
|
+
const instanceData = new Float32Array(numSegments * 16);
|
|
54379
|
+
for (let i = 0; i < numSegments; i++) {
|
|
54380
|
+
const i0 = i * 3;
|
|
54381
|
+
const i1 = (i + 1) * 3;
|
|
54382
|
+
instanceData[i * 16 + 0] = posArray[i0 + 0];
|
|
54383
|
+
instanceData[i * 16 + 1] = posArray[i0 + 1];
|
|
54384
|
+
instanceData[i * 16 + 2] = posArray[i0 + 2];
|
|
54385
|
+
instanceData[i * 16 + 3] = 0;
|
|
54386
|
+
instanceData[i * 16 + 4] = posArray[i1 + 0];
|
|
54387
|
+
instanceData[i * 16 + 5] = posArray[i1 + 1];
|
|
54388
|
+
instanceData[i * 16 + 6] = posArray[i1 + 2];
|
|
54389
|
+
instanceData[i * 16 + 7] = 0;
|
|
54390
|
+
instanceData[i * 16 + 8] = 1;
|
|
54391
|
+
instanceData[i * 16 + 9] = 1;
|
|
54392
|
+
instanceData[i * 16 + 10] = 1;
|
|
54393
|
+
instanceData[i * 16 + 11] = 0;
|
|
54394
|
+
instanceData[i * 16 + 12] = 1;
|
|
54395
|
+
instanceData[i * 16 + 13] = 1;
|
|
54396
|
+
instanceData[i * 16 + 14] = 1;
|
|
54397
|
+
instanceData[i * 16 + 15] = 0;
|
|
54398
|
+
}
|
|
54399
|
+
this._instanceData = instanceData;
|
|
54400
|
+
this._instanceCount = numSegments;
|
|
54401
|
+
this.computeBoundingBox(posArray);
|
|
54402
|
+
return this;
|
|
54403
|
+
}
|
|
54404
|
+
/**
|
|
54405
|
+
* Set colors for line segments
|
|
54406
|
+
* @param colors Array of colors [r1,g1,b1, r2,g2,b2, ...] for each point
|
|
54407
|
+
*/
|
|
54408
|
+
setColors(colors) {
|
|
54409
|
+
const colorArray = colors instanceof Float32Array ? colors : new Float32Array(colors);
|
|
54410
|
+
if (!this._instanceData) {
|
|
54411
|
+
console.warn(
|
|
54412
|
+
"FatLineGeometry: Must call setPositions() before setColors()"
|
|
54413
|
+
);
|
|
54414
|
+
return this;
|
|
54415
|
+
}
|
|
54416
|
+
const numPoints = colorArray.length / 3;
|
|
54417
|
+
const numSegments = numPoints - 1;
|
|
54418
|
+
if (numSegments !== this._instanceCount) {
|
|
54419
|
+
console.warn(
|
|
54420
|
+
"FatLineGeometry: Color array length doesn't match segment count"
|
|
54421
|
+
);
|
|
54422
|
+
return this;
|
|
54423
|
+
}
|
|
54424
|
+
for (let i = 0; i < numSegments; i++) {
|
|
54425
|
+
const i0 = i * 3;
|
|
54426
|
+
const i1 = (i + 1) * 3;
|
|
54427
|
+
this._instanceData[i * 16 + 8] = colorArray[i0 + 0];
|
|
54428
|
+
this._instanceData[i * 16 + 9] = colorArray[i0 + 1];
|
|
54429
|
+
this._instanceData[i * 16 + 10] = colorArray[i0 + 2];
|
|
54430
|
+
this._instanceData[i * 16 + 12] = colorArray[i1 + 0];
|
|
54431
|
+
this._instanceData[i * 16 + 13] = colorArray[i1 + 1];
|
|
54432
|
+
this._instanceData[i * 16 + 14] = colorArray[i1 + 2];
|
|
54433
|
+
}
|
|
54434
|
+
return this;
|
|
54435
|
+
}
|
|
54436
|
+
/**
|
|
54437
|
+
* Compute bounding box from positions
|
|
54438
|
+
*/
|
|
54439
|
+
computeBoundingBox(positions) {
|
|
54440
|
+
const min = new Vector3(Infinity, Infinity, Infinity);
|
|
54441
|
+
const max = new Vector3(-Infinity, -Infinity, -Infinity);
|
|
54442
|
+
for (let i = 0; i < positions.length; i += 3) {
|
|
54443
|
+
const x = positions[i];
|
|
54444
|
+
const y = positions[i + 1];
|
|
54445
|
+
const z = positions[i + 2];
|
|
54446
|
+
min.x = Math.min(min.x, x);
|
|
54447
|
+
min.y = Math.min(min.y, y);
|
|
54448
|
+
min.z = Math.min(min.z, z);
|
|
54449
|
+
max.x = Math.max(max.x, x);
|
|
54450
|
+
max.y = Math.max(max.y, y);
|
|
54451
|
+
max.z = Math.max(max.z, z);
|
|
54452
|
+
}
|
|
54453
|
+
const size = Vector3.sub(max, min);
|
|
54454
|
+
this.bounds = new BoundingBox(Vector3.ZERO.clone(), size);
|
|
54455
|
+
this.bounds.setFromMinMax(min, max);
|
|
54456
|
+
}
|
|
54457
|
+
/**
|
|
54458
|
+
* Get instance data for GPU upload
|
|
54459
|
+
*/
|
|
54460
|
+
get instanceData() {
|
|
54461
|
+
return this._instanceData;
|
|
54462
|
+
}
|
|
54463
|
+
/**
|
|
54464
|
+
* Get number of line segments (instances)
|
|
54465
|
+
*/
|
|
54466
|
+
get instanceCount() {
|
|
54467
|
+
return this._instanceCount;
|
|
54468
|
+
}
|
|
54469
|
+
/**
|
|
54470
|
+
* Get or create instance buffer
|
|
54471
|
+
*/
|
|
54472
|
+
get instanceBuffer() {
|
|
54473
|
+
if (!this._instanceBuffer && this._instanceData) {
|
|
54474
|
+
this._instanceBuffer = new StorageGPUBuffer(
|
|
54475
|
+
this._instanceData.byteLength
|
|
54476
|
+
);
|
|
54477
|
+
this._instanceBuffer.setFloat32Array("", this._instanceData);
|
|
54478
|
+
this._instanceBuffer.apply();
|
|
54479
|
+
}
|
|
54480
|
+
return this._instanceBuffer;
|
|
54481
|
+
}
|
|
54482
|
+
/**
|
|
54483
|
+
* Update instance buffer with new data
|
|
54484
|
+
*/
|
|
54485
|
+
updateInstanceBuffer() {
|
|
54486
|
+
if (this._instanceBuffer && this._instanceData) {
|
|
54487
|
+
this._instanceBuffer.setFloat32Array("", this._instanceData);
|
|
54488
|
+
this._instanceBuffer.apply();
|
|
54489
|
+
}
|
|
54490
|
+
}
|
|
54491
|
+
}
|
|
54492
|
+
|
|
53936
54493
|
class VertexBufferLayout {
|
|
53937
54494
|
name;
|
|
53938
54495
|
offset;
|
|
@@ -59203,9 +59760,9 @@ class PrefabTextureParser extends ParserBase {
|
|
|
59203
59760
|
}
|
|
59204
59761
|
}
|
|
59205
59762
|
|
|
59206
|
-
var __getOwnPropDesc$
|
|
59207
|
-
var __decorateClass$
|
|
59208
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
59763
|
+
var __getOwnPropDesc$4 = Object.getOwnPropertyDescriptor;
|
|
59764
|
+
var __decorateClass$4 = (decorators, target, key, kind) => {
|
|
59765
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$4(target, key) : target;
|
|
59209
59766
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
59210
59767
|
if (decorator = decorators[i])
|
|
59211
59768
|
result = (decorator(result)) || result;
|
|
@@ -59324,13 +59881,13 @@ let LitSSSShader = class extends Shader {
|
|
|
59324
59881
|
}
|
|
59325
59882
|
}
|
|
59326
59883
|
};
|
|
59327
|
-
LitSSSShader = __decorateClass$
|
|
59884
|
+
LitSSSShader = __decorateClass$4([
|
|
59328
59885
|
RegisterShader(LitSSSShader, "LitSSSShader")
|
|
59329
59886
|
], LitSSSShader);
|
|
59330
59887
|
|
|
59331
|
-
var __getOwnPropDesc$
|
|
59332
|
-
var __decorateClass$
|
|
59333
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
59888
|
+
var __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor;
|
|
59889
|
+
var __decorateClass$3 = (decorators, target, key, kind) => {
|
|
59890
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target;
|
|
59334
59891
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
59335
59892
|
if (decorator = decorators[i])
|
|
59336
59893
|
result = (decorator(result)) || result;
|
|
@@ -59426,7 +59983,7 @@ let LitShader = class extends Shader {
|
|
|
59426
59983
|
}
|
|
59427
59984
|
}
|
|
59428
59985
|
};
|
|
59429
|
-
LitShader = __decorateClass$
|
|
59986
|
+
LitShader = __decorateClass$3([
|
|
59430
59987
|
RegisterShader(LitShader, "LitShader")
|
|
59431
59988
|
], LitShader);
|
|
59432
59989
|
|
|
@@ -59585,6 +60142,47 @@ class PrefabStringUtil {
|
|
|
59585
60142
|
}
|
|
59586
60143
|
}
|
|
59587
60144
|
|
|
60145
|
+
var __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor;
|
|
60146
|
+
var __decorateClass$2 = (decorators, target, key, kind) => {
|
|
60147
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target;
|
|
60148
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
60149
|
+
if (decorator = decorators[i])
|
|
60150
|
+
result = (decorator(result)) || result;
|
|
60151
|
+
return result;
|
|
60152
|
+
};
|
|
60153
|
+
let FatLineShader = class extends Shader {
|
|
60154
|
+
constructor() {
|
|
60155
|
+
super();
|
|
60156
|
+
const colorShader = new RenderShaderPass("FatLine_VS", "FatLine_FS");
|
|
60157
|
+
colorShader.setShaderEntry(`VertMain`, `FragMain`);
|
|
60158
|
+
this.addRenderPass(colorShader);
|
|
60159
|
+
const shaderState = colorShader.shaderState;
|
|
60160
|
+
shaderState.acceptShadow = false;
|
|
60161
|
+
shaderState.castShadow = false;
|
|
60162
|
+
shaderState.receiveEnv = false;
|
|
60163
|
+
shaderState.acceptGI = false;
|
|
60164
|
+
shaderState.useLight = false;
|
|
60165
|
+
shaderState.cullMode = GPUCullMode.none;
|
|
60166
|
+
shaderState.depthWriteEnabled = true;
|
|
60167
|
+
this.setDefault();
|
|
60168
|
+
}
|
|
60169
|
+
/**
|
|
60170
|
+
* Set default uniform values
|
|
60171
|
+
*/
|
|
60172
|
+
setDefault() {
|
|
60173
|
+
this.setUniformColor(`baseColor`, new Color(1, 1, 1, 1));
|
|
60174
|
+
this.setUniformFloat(`lineWidth`, 1);
|
|
60175
|
+
this.setUniformFloat(`opacity`, 1);
|
|
60176
|
+
this.setUniformVector2(`resolution`, new Vector2(1920, 1080));
|
|
60177
|
+
const identityMatrix = new Matrix4();
|
|
60178
|
+
const pass = this.getDefaultColorShader();
|
|
60179
|
+
pass.setUniform(`modelMatrix`, identityMatrix.rawData);
|
|
60180
|
+
}
|
|
60181
|
+
};
|
|
60182
|
+
FatLineShader = __decorateClass$2([
|
|
60183
|
+
RegisterShader(FatLineShader, "FatLineShader")
|
|
60184
|
+
], FatLineShader);
|
|
60185
|
+
|
|
59588
60186
|
var __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor;
|
|
59589
60187
|
var __decorateClass$1 = (decorators, target, key, kind) => {
|
|
59590
60188
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1(target, key) : target;
|
|
@@ -59921,6 +60519,78 @@ class ColorLitMaterial extends Material {
|
|
|
59921
60519
|
}
|
|
59922
60520
|
}
|
|
59923
60521
|
|
|
60522
|
+
class FatLineMaterial extends Material {
|
|
60523
|
+
constructor() {
|
|
60524
|
+
super();
|
|
60525
|
+
this.shader = new FatLineShader();
|
|
60526
|
+
this.transparent = true;
|
|
60527
|
+
}
|
|
60528
|
+
/**
|
|
60529
|
+
* Set instance buffer for line segments
|
|
60530
|
+
* This should be called after setting the geometry
|
|
60531
|
+
*/
|
|
60532
|
+
setInstanceBuffer(buffer) {
|
|
60533
|
+
this.shader.setStorageBuffer("instances", buffer);
|
|
60534
|
+
}
|
|
60535
|
+
/**
|
|
60536
|
+
* Set model matrix for transforming line segments
|
|
60537
|
+
* This should be updated each frame if the object moves
|
|
60538
|
+
*/
|
|
60539
|
+
setModelMatrix(matrix) {
|
|
60540
|
+
const pass = this.shader.getDefaultColorShader();
|
|
60541
|
+
pass.setUniform("modelMatrix", matrix.rawData);
|
|
60542
|
+
}
|
|
60543
|
+
/**
|
|
60544
|
+
* Set base color (tint color)
|
|
60545
|
+
*/
|
|
60546
|
+
set baseColor(color) {
|
|
60547
|
+
this.shader.setUniformColor(`baseColor`, color);
|
|
60548
|
+
}
|
|
60549
|
+
/**
|
|
60550
|
+
* Get base color (tint color)
|
|
60551
|
+
*/
|
|
60552
|
+
get baseColor() {
|
|
60553
|
+
return this.shader.getUniformColor("baseColor");
|
|
60554
|
+
}
|
|
60555
|
+
/**
|
|
60556
|
+
* Set line width in pixels
|
|
60557
|
+
*/
|
|
60558
|
+
set lineWidth(value) {
|
|
60559
|
+
this.shader.setUniformFloat(`lineWidth`, value);
|
|
60560
|
+
}
|
|
60561
|
+
/**
|
|
60562
|
+
* Get line width in pixels
|
|
60563
|
+
*/
|
|
60564
|
+
get lineWidth() {
|
|
60565
|
+
return this.shader.getUniformFloat("lineWidth");
|
|
60566
|
+
}
|
|
60567
|
+
/**
|
|
60568
|
+
* Set opacity (0-1)
|
|
60569
|
+
*/
|
|
60570
|
+
set opacity(value) {
|
|
60571
|
+
this.shader.setUniformFloat(`opacity`, value);
|
|
60572
|
+
}
|
|
60573
|
+
/**
|
|
60574
|
+
* Get opacity (0-1)
|
|
60575
|
+
*/
|
|
60576
|
+
get opacity() {
|
|
60577
|
+
return this.shader.getUniformFloat("opacity");
|
|
60578
|
+
}
|
|
60579
|
+
/**
|
|
60580
|
+
* Set viewport resolution for correct pixel-space calculations
|
|
60581
|
+
* This should be set automatically by the renderer
|
|
60582
|
+
*/
|
|
60583
|
+
set resolution(value) {
|
|
60584
|
+
this.shader.setUniformVector2(`resolution`, value);
|
|
60585
|
+
}
|
|
60586
|
+
/**
|
|
60587
|
+
* Get viewport resolution
|
|
60588
|
+
*/
|
|
60589
|
+
get resolution() {
|
|
60590
|
+
return this.shader.getUniformVector2("resolution");
|
|
60591
|
+
}
|
|
60592
|
+
}
|
|
60593
|
+
|
|
59924
60594
|
class LambertMaterial extends Material {
|
|
59925
60595
|
/**
|
|
59926
60596
|
* @constructor
|
|
@@ -65700,4 +66370,4 @@ const __viteBrowserExternal = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.def
|
|
|
65700
66370
|
__proto__: null
|
|
65701
66371
|
}, Symbol.toStringTag, { value: 'Module' }));
|
|
65702
66372
|
|
|
65703
|
-
export { AccelerateDecelerateInterpolator, AccelerateInterpolator, AnimationCurve, AnimationCurveT, AnimationMonitor, AnimatorComponent, AnimatorEventKeyframe, AnticipateInterpolator, AnticipateOvershootInterpolator, ArrayHas, ArrayItemIndex, AtlasParser, AtmosphericComponent, AtmosphericScatteringSky, AtmosphericScatteringSkySetting, AtmosphericScatteringSky_shader, AttributeAnimCurve, AxisObject, B3DMLoader, B3DMLoaderBase, B3DMParseUtil, B3DMParser, BRDFLUT, BRDFLUTGenerate, BRDF_frag, BatchTable, BiMap, BillboardComponent, BillboardType, BitUtil, BitmapTexture2D, BitmapTexture2DArray, BitmapTextureCube, Blend, BlendFactor, BlendMode, BlendShapeData, BlendShapePropertyData, BloomPost, BlurEffectCreatorBlur_cs, BlurEffectCreatorSample_cs, BlurTexture2DBufferCreator, BounceInterpolator, BoundUtil, BoundingBox, BoundingSphere, BoxColliderShape, BoxGeometry, BrdfLut_frag, BsDF_frag, BxDF_frag, BxdfDebug_frag, BytesArray, CEvent, CEventDispatcher, CEventListener, CResizeEvent, CSM, Camera3D, CameraControllerBase, CameraType, CameraUtil, CapsuleColliderShape, CastPointShadowMaterialPass, CastShadowMaterialPass, Clearcoat_frag, ClusterBoundsSource_cs, ClusterConfig, ClusterDebug_frag, ClusterLight, ClusterLightingBuffer, ClusterLightingRender, ClusterLighting_cs, CollectInfo, ColliderComponent, ColliderShape, ColliderShapeType, Color, ColorGradient, ColorLitMaterial, ColorLitShader, ColorPassFragmentOutput, ColorPassRenderer, ColorUtil, ComData, Combine_cs, Common_frag, Common_vert, ComponentBase, ComponentCollect, ComputeGPUBuffer, ComputeShader, Context3D, CubeCamera, CubeMapFaceEnum, CubeSky_Shader, CubicBezierCurve, CubicBezierPath, CubicBezierType, CycleInterpolator, CylinderGeometry, DDGIIrradianceComputePass, DDGIIrradianceGPUBufferReader, DDGIIrradianceVolume, DDGIIrradiance_shader, DDGILightingPass, DDGILighting_shader, DDGIMultiBouncePass, DDGIProbeRenderer, DEGREES_TO_RADIANS, DecelerateInterpolator, Denoising_cs, Depth2DTextureArray, DepthCubeArrayTexture, DepthMaterialPass, DepthOfFieldPost, DepthOfView_cs, DirectLight, DoubleArray, EditorInspector, Engine3D, Entity, EntityBatchCollect, EntityCollect, EnvMap_frag, ErpImage2CubeMap, ErpImage2CubeMapCreateCube_cs, ErpImage2CubeMapRgbe2rgba_cs, ExtrudeGeometry, FASTFLOOR, FXAAPost, FXAAShader, FastMathShader, FeatureTable, FileLoader, FirstPersonCameraController, Float16ArrayTexture, Float32ArrayTexture, FlyCameraController, FontChar, FontInfo, FontPage, FontParser, ForwardRenderJob, FragmentOutput, FragmentVarying, FrameCache, Frustum, FrustumCSM, FrustumCulling_cs, FullQuad_vert_wgsl, GBufferFrame, GBufferPass, GBufferPost, GBufferStand, GBuffer_pass, GILighting, GIProbeMaterial, GIProbeMaterialType, GIProbeShader, GIRenderCompleteEvent, GIRenderStartEvent, GLBChunk, GLBHeader, GLBParser, GLSLLexer, GLSLLexerToken, GLSLPreprocessor, GLSLSyntax, GLTFBinaryExtension, GLTFMaterial, GLTFParser, GLTFSubParser, GLTFSubParserCamera, GLTFSubParserConverter, GLTFSubParserMaterial, GLTFSubParserMesh, GLTFSubParserSkeleton, GLTFSubParserSkin, GLTFType, GLTF_Accessors, GLTF_Info, GLTF_Light, GLTF_Mesh, GLTF_Node, GLTF_Primitives, GLTF_Scene, GPUAddressMode, GPUBlendFactor, GPUBufferBase, GPUBufferType, GPUCompareFunction, GPUContext, GPUCullMode, GPUFilterMode, GPUPrimitiveTopology, GPUTextureFormat, GPUVertexFormat, GPUVertexStepMode, GSplatFormat, GSplatMaterial, GSplatRenderer, GSplat_FS, GSplat_VS, GTAOPost, GTAO_cs, GUIAtlasTexture, GUICanvas, GUIConfig, GUIGeometry, GUIGeometryRebuild, GUIMaterial, GUIPassRenderer, GUIPick, GUIPickHelper, GUIQuad, GUIQuadAttrEnum, GUIRenderer, GUIShader, GUISpace, GUISprite, GUITexture, GaussianSplatParser, GenerayRandomDir, GeoJsonParser, GeoJsonUtil, GeoType, GeometryBase, GeometryIndicesBuffer, GeometryUtil, GeometryVertexBuffer, GeometryVertexType, GetComponentClass, GetCountInstanceID, GetRepeat, GetShader, GlassShader, GlobalBindGroup, GlobalBindGroupLayout, GlobalFog, GlobalFog_shader, GlobalIlluminationComponent, GlobalUniform, GlobalUniformGroup, GodRayPost, GodRay_cs, GridObject, HDRTexture, HDRTextureCube, Hair_frag, Hair_shader_op, Hair_shader_tr, HaltonSeq, Horizontal, HoverCameraController, I3DMLoader, I3DMLoaderBase, I3DMParser, IBLEnvMapCreator, IBLEnvMapCreator_cs, IESProfiles, IESProfiles_frag, IKDTreeUserData, ImageType, IndicesGPUBuffer, Inline_vert, InputSystem, InstanceDrawComponent, InstanceUniform, InstancedMesh, Interpolator, InterpolatorEnum, IrradianceDataReaderCompleteEvent, IrradianceVolumeData_frag, Irradiance_frag, IsEditorInspector, IsNonSerialize, Joint, JointPose, JumperInterpolator, KDTreeEntity, KDTreeNode, KDTreeRange, KDTreeSpace, KDTreeUUID, KHR_draco_mesh_compression, KHR_lights_punctual, KHR_materials_clearcoat, KHR_materials_emissive_strength, KHR_materials_ior, KHR_materials_unlit, KMZParser, KV, KelvinUtil, KeyCode, KeyEvent, Keyframe, KeyframeT, LDRTextureCube, LambertMaterial, Lambert_shader, Light, LightBase, LightData, LightEntries, LightType, LightingFunction_frag, Line, LineClassification, LinearInterpolator, LitMaterial, LitSSSShader, LitShader, Lit_shader, LoaderBase, LoaderEvent, LoaderManager, MAX_VALUE, MIN_VALUE, Material, MaterialDataUniformGPUBuffer, MaterialUtilities, MathShader, MathUtil, Matrix3, Matrix4, MatrixBindGroup, MatrixGPUBuffer, MatrixShader, MemoryDO, MemoryInfo, MergeRGBACreator, MergeRGBA_cs, MeshColliderShape, MeshFilter, MeshRenderer, MinMaxAnimationCurves, MinMaxCurve, MinMaxCurveState, MinMaxPolyCurves, MorePassParser, MorePassShader, MorphTargetBlender, MorphTargetData, MorphTargetFrame, MorphTargetTransformKey, MorphTarget_shader, MouseCode, MultiBouncePass_cs, Navi3DAstar, Navi3DConst, Navi3DEdge, Navi3DFunnel, Navi3DMaskType, Navi3DMesh, Navi3DPoint, Navi3DPoint2D, Navi3DPointFat, Navi3DRouter, Navi3DTriangle, NonSerialize, NormalMap_frag, OAnimationEvent, OBJParser, Object3D, Object3DEvent, Object3DTransformTools, Object3DUtil, ObjectAnimClip, OcclusionSystem, Octree, OctreeEntity, OrbitController, OrderMap, Orientation3D, OutLineBlendColor_cs, OutlineCalcOutline_cs, OutlinePass, OutlinePost, OutlinePostData, OutlinePostManager, OutlinePostSlot, Outline_cs, OvershootInterpolator, PBRLItShader, PBRLitSSSShader, ParserBase, ParserFormat, ParticleSystemCurveEvalMode, ParticleSystemRandomnessIds, PassGenerate, PassShader, PassType, PhysicMaterialUniform_frag, PickCompute, PickFire, PickGUIEvent3D, PickResult, Picker_cs, PingPong, PipelinePool, Plane3D, PlaneClassification, PlaneGeometry, PointClassification, PointLight, PointLightShadowRenderer, PointShadowCubeCamera, PointerEvent3D, Polynomial, PolynomialCurve, Polynomials, PoolNode, PostBase, PostProcessingComponent, PostRenderer, PreDepthPassRenderer, PreFilteredEnvironment_cs, PreFilteredEnvironment_cs2, PreIntegratedLut, PreIntegratedLutCompute, PrefabAvatarData, PrefabAvatarParser, PrefabBoneData, PrefabMaterialParser, PrefabMeshData, PrefabMeshParser, PrefabNode, PrefabParser, PrefabStringUtil, PrefabTextureData, PrefabTextureParser, Preprocessor, Probe, ProbeEntries, ProbeGBufferFrame, ProfilerUtil, PropertyAnimClip, PropertyAnimTag, PropertyAnimation, PropertyAnimationClip, PropertyAnimationClipState, PropertyAnimationEvent, PropertyHelp, QuadAABB, QuadGlsl_fs, QuadGlsl_vs, QuadRoot, QuadShader, QuadTree, QuadTreeCell, Quad_depth2dArray_frag_wgsl, Quad_depth2d_frag_wgsl, Quad_depthCube_frag_wgsl, Quad_frag_wgsl, Quad_vert_wgsl, Quaternion, RADIANS_TO_DEGREES, RGBEErrorCode, RGBEHeader, RGBEParser, RTDescriptor, RTFrame, RTResourceConfig, RTResourceMap, Rand, RandomSeed, Ray, RayCastMeshDetail, Reader, Rect, Reference, Reflection, ReflectionCG, ReflectionEntries, ReflectionMaterial, ReflectionRenderer, ReflectionShader, ReflectionShader_shader, RegisterComponent, RegisterShader, RenderContext, RenderLayer, RenderLayerUtil, RenderNode, RenderShaderCollect, RenderShaderCompute, RenderShaderPass, RenderTexture, RendererBase, RendererJob, RendererMap, RendererMask, RendererMaskUtil, RendererPassState, RepeatSE, Res, RotationControlComponents, SHCommon_frag, SN_ArrayConstant, SN_BinaryOperation, SN_Break, SN_CodeBlock, SN_Constant, SN_Continue, SN_Declaration, SN_Discard, SN_DoWhileLoop, SN_Expression, SN_ForLoop, SN_Function, SN_FunctionArgs, SN_FunctionCall, SN_IFBranch, SN_Identifier, SN_IndexOperation, SN_Layout, SN_ParenExpression, SN_Precision, SN_Return, SN_SelectOperation, SN_Struct, SN_TernaryOperation, SN_UnaryOperation, SN_WhileLoop, SSAO_cs, SSGI2_cs, SSGIPost, SSRPost, SSR_BlendColor_cs, SSR_IS_Kernel, SSR_IS_cs, SSR_RayTrace_cs, ScaleControlComponents, Scene3D, Shader, ShaderAttributeInfo, ShaderConverter, ShaderConverterResult, ShaderLib, ShaderPassBase, ShaderReflection, ShaderStage, ShaderState, ShaderUniformInfo, ShaderUtil, ShadingInput, ShadowLightsCollect, ShadowMapPassRenderer, ShadowMapping_frag, Skeleton, SkeletonAnimationClip, SkeletonAnimationClipState, SkeletonAnimationComponent, SkeletonAnimationCompute, SkeletonAnimation_shader, SkeletonBlendComputeArgs, SkeletonPose, SkeletonTransformComputeArgs, SkinnedMeshRenderer, SkinnedMeshRenderer2, SkyGBufferPass, SkyGBuffer_pass, SkyMaterial, SkyRenderer, SkyShader, SolidColorSky, SphereColliderShape, SphereGeometry, SphereReflection, SpotLight, StandShader, StatementNode, StorageGPUBuffer, StringUtil, Struct, StructStorageGPUBuffer, SubGeometry, TAACopyTex_cs, TAAPost, TAASharpTex_cs, TAA_cs, TestComputeLoadBuffer, TextAnchor, TextFieldLayout, TextFieldLine, Texture, TextureCube, TextureCubeFaceData, TextureCubeStdCreator, TextureCubeUtils, TextureMipmapCompute, TextureMipmapGenerator, TextureScaleCompute, ThirdPersonCameraController, TileSet, TileSetChild, TileSetChildContent, TileSetChildContentMetaData, TileSetRoot, TilesRenderer, Time, TokenType, TorusGeometry, TouchData, TrailGeometry, Transform, TransformAxisEnum, TransformControllerBaseComponent, TransformMode, TransformSpaceMode, TranslationControlComponents, TranslatorContext, TriGeometry, Triangle, UIButton, UIButtonTransition, UIComponentBase, UIEvent, UIImage, UIImageGroup, UIInteractive, UIInteractiveStyle, UIPanel, UIRenderAble, UIShadow, UITextField, UITransform, UUID, UV, Uint32ArrayTexture, Uint8ArrayTexture, UnLit, UnLitMaterial, UnLitMaterialUniform_frag, UnLitShader, UnLitTexArrayMaterial, UnLitTexArrayShader, UnLitTextureArray, UnLit_frag, UniformGPUBuffer, UniformNode, UniformType, ValueEnumType, ValueOp, ValueParser, ValueSpread, Vector2, Vector3, Vector3Ex, Vector4, VertexAttribute, VertexAttributeIndexShader, VertexAttributeName, VertexAttributeSize, VertexAttributeStride, VertexAttributes_vert, VertexBufferLayout, VertexFormat, VertexGPUBuffer, Vertical, VideoUniform_frag, View3D, ViewPanel, ViewQuad, VirtualTexture, WGSLTranslator, WayLines3D, WayPoint3D, WebGPUDescriptorCreator, WorldMatrixUniform, WorldPanel, WrapMode, WrapTimeMode, ZCullingCompute, ZPassShader_cs, ZPassShader_fs, ZPassShader_vs, ZSorterUtil, append, arrayToString, blendComponent, buildCurves, byteSizeOfType, calculateCurveRangesValue, calculateMinMax, castPointShadowMap_vert, clamp, clampRepeat, computeAABBFromPositions, cos, crossProduct, cubicPolynomialRoot, cubicPolynomialRootsGeneric, curvesSupportProcedural, deg2Rad, detectGSplatFormat, directionShadowCastMap_frag, dot, doubleIntegrateSegment, downSample, fastInvSqrt, floorfToIntPos, fonts, generateRandom, generateRandom3, getFloatFromInt, getGLTypeFromTypedArray, getGLTypeFromTypedArrayType, getGlobalRandomSeed, getTypedArray, getTypedArrayTypeFromGLType, grad1, grad2, grad3, grad4, inferSHOrder, integrateSegment, irradianceDataReader, kPI, lerp, lerpByte, lerpColor, lerpVector3, magnitude, makeAloneSprite, makeGUISprite, makeMatrix44, matrixMultiply, matrixRotate, matrixRotateY, mergeFunctions, multiplyMatrices4x4REF, normal_distribution, normalizeFast, normalizeSafe, normalizedToByte, normalizedToWord, outlinePostData, outlinePostManager, parsePlyGaussianSplat, parsePlyHeader, perm, post, quadraticPolynomialRootsGeneric, rad2Deg, random01, randomBarycentricCoord, randomPointBetweenEllipsoid, randomPointBetweenSphere, randomPointInsideCube, randomPointInsideEllipsoid, randomPointInsideUnitCircle, randomPointInsideUnitSphere, randomQuaternion, randomQuaternionUniformDistribution, randomSeed, randomUnitVector, randomUnitVector2, rangedRandomFloat, rangedRandomInt, readByType, readMagicBytes, registerMaterial, repeat, rotMatrix, rotateVectorByQuat, roundfToIntPos, scale, shadowCastMap_frag, shadowCastMap_vert, simplex, sin, snoise1, snoise2, snoise3, snoise4, sqrMagnitude, sqrtImpl, stencilStateFace, swap, textureCompress, threshold, toHalfFloat, tw, uniform_real_distribution, uniform_real_distribution2, upSample$1 as upSample, webGPUContext, zSorterUtil };
|
|
66373
|
+
export { AccelerateDecelerateInterpolator, AccelerateInterpolator, AnimationCurve, AnimationCurveT, AnimationMonitor, AnimatorComponent, AnimatorEventKeyframe, AnticipateInterpolator, AnticipateOvershootInterpolator, ArrayHas, ArrayItemIndex, AtlasParser, AtmosphericComponent, AtmosphericScatteringSky, AtmosphericScatteringSkySetting, AtmosphericScatteringSky_shader, AttributeAnimCurve, AxisObject, B3DMLoader, B3DMLoaderBase, B3DMParseUtil, B3DMParser, BRDFLUT, BRDFLUTGenerate, BRDF_frag, BatchTable, BiMap, BillboardComponent, BillboardType, BitUtil, BitmapTexture2D, BitmapTexture2DArray, BitmapTextureCube, Blend, BlendFactor, BlendMode, BlendShapeData, BlendShapePropertyData, BloomPost, BlurEffectCreatorBlur_cs, BlurEffectCreatorSample_cs, BlurTexture2DBufferCreator, BounceInterpolator, BoundUtil, BoundingBox, BoundingSphere, BoxColliderShape, BoxGeometry, BrdfLut_frag, BsDF_frag, BxDF_frag, BxdfDebug_frag, BytesArray, CEvent, CEventDispatcher, CEventListener, CResizeEvent, CSM, Camera3D, CameraControllerBase, CameraType, CameraUtil, CapsuleColliderShape, CastPointShadowMaterialPass, CastShadowMaterialPass, Clearcoat_frag, ClusterBoundsSource_cs, ClusterConfig, ClusterDebug_frag, ClusterLight, ClusterLightingBuffer, ClusterLightingRender, ClusterLighting_cs, CollectInfo, ColliderComponent, ColliderShape, ColliderShapeType, Color, ColorGradient, ColorLitMaterial, ColorLitShader, ColorPassFragmentOutput, ColorPassRenderer, ColorUtil, ComData, Combine_cs, Common_frag, Common_vert, ComponentBase, ComponentCollect, ComputeGPUBuffer, ComputeShader, Context3D, CubeCamera, CubeMapFaceEnum, CubeSky_Shader, CubicBezierCurve, CubicBezierPath, CubicBezierType, CycleInterpolator, CylinderGeometry, DDGIIrradianceComputePass, DDGIIrradianceGPUBufferReader, DDGIIrradianceVolume, DDGIIrradiance_shader, DDGILightingPass, DDGILighting_shader, DDGIMultiBouncePass, DDGIProbeRenderer, DEGREES_TO_RADIANS, DecelerateInterpolator, Denoising_cs, Depth2DTextureArray, DepthCubeArrayTexture, DepthMaterialPass, DepthOfFieldPost, DepthOfView_cs, DirectLight, DoubleArray, EditorInspector, Engine3D, Entity, EntityBatchCollect, EntityCollect, EnvMap_frag, ErpImage2CubeMap, ErpImage2CubeMapCreateCube_cs, ErpImage2CubeMapRgbe2rgba_cs, ExtrudeGeometry, FASTFLOOR, FXAAPost, FXAAShader, FastMathShader, FatLineGeometry, FatLineMaterial, FatLineRenderer, FatLineShader, FatLine_FS, FatLine_VS, FeatureTable, FileLoader, FirstPersonCameraController, Float16ArrayTexture, Float32ArrayTexture, FlyCameraController, FontChar, FontInfo, FontPage, FontParser, ForwardRenderJob, FragmentOutput, FragmentVarying, FrameCache, Frustum, FrustumCSM, FrustumCulling_cs, FullQuad_vert_wgsl, GBufferFrame, GBufferPass, GBufferPost, GBufferStand, GBuffer_pass, GILighting, GIProbeMaterial, GIProbeMaterialType, GIProbeShader, GIRenderCompleteEvent, GIRenderStartEvent, GLBChunk, GLBHeader, GLBParser, GLSLLexer, GLSLLexerToken, GLSLPreprocessor, GLSLSyntax, GLTFBinaryExtension, GLTFMaterial, GLTFParser, GLTFSubParser, GLTFSubParserCamera, GLTFSubParserConverter, GLTFSubParserMaterial, GLTFSubParserMesh, GLTFSubParserSkeleton, GLTFSubParserSkin, GLTFType, GLTF_Accessors, GLTF_Info, GLTF_Light, GLTF_Mesh, GLTF_Node, GLTF_Primitives, GLTF_Scene, GPUAddressMode, GPUBlendFactor, GPUBufferBase, GPUBufferType, GPUCompareFunction, GPUContext, GPUCullMode, GPUFilterMode, GPUPrimitiveTopology, GPUTextureFormat, GPUVertexFormat, GPUVertexStepMode, GSplatFormat, GSplatMaterial, GSplatRenderer, GSplatShader, GSplat_FS, GSplat_VS, GTAOPost, GTAO_cs, GUIAtlasTexture, GUICanvas, GUIConfig, GUIGeometry, GUIGeometryRebuild, GUIMaterial, GUIPassRenderer, GUIPick, GUIPickHelper, GUIQuad, GUIQuadAttrEnum, GUIRenderer, GUIShader, GUISpace, GUISprite, GUITexture, GaussianSplatParser, GenerayRandomDir, GeoJsonParser, GeoJsonUtil, GeoType, GeometryBase, GeometryIndicesBuffer, GeometryUtil, GeometryVertexBuffer, GeometryVertexType, GetComponentClass, GetCountInstanceID, GetRepeat, GetShader, GlassShader, GlobalBindGroup, GlobalBindGroupLayout, GlobalFog, GlobalFog_shader, GlobalIlluminationComponent, GlobalUniform, GlobalUniformGroup, GodRayPost, GodRay_cs, GridObject, HDRTexture, HDRTextureCube, Hair_frag, Hair_shader_op, Hair_shader_tr, HaltonSeq, Horizontal, HoverCameraController, I3DMLoader, I3DMLoaderBase, I3DMParser, IBLEnvMapCreator, IBLEnvMapCreator_cs, IESProfiles, IESProfiles_frag, IKDTreeUserData, ImageType, IndicesGPUBuffer, Inline_vert, InputSystem, InstanceDrawComponent, InstanceUniform, InstancedMesh, Interpolator, InterpolatorEnum, IrradianceDataReaderCompleteEvent, IrradianceVolumeData_frag, Irradiance_frag, IsEditorInspector, IsNonSerialize, Joint, JointPose, JumperInterpolator, KDTreeEntity, KDTreeNode, KDTreeRange, KDTreeSpace, KDTreeUUID, KHR_draco_mesh_compression, KHR_lights_punctual, KHR_materials_clearcoat, KHR_materials_emissive_strength, KHR_materials_ior, KHR_materials_unlit, KMZParser, KV, KelvinUtil, KeyCode, KeyEvent, Keyframe, KeyframeT, LDRTextureCube, LambertMaterial, Lambert_shader, Light, LightBase, LightData, LightEntries, LightType, LightingFunction_frag, Line, LineClassification, LinearInterpolator, LitMaterial, LitSSSShader, LitShader, Lit_shader, LoaderBase, LoaderEvent, LoaderManager, MAX_VALUE, MIN_VALUE, Material, MaterialDataUniformGPUBuffer, MaterialUtilities, MathShader, MathUtil, Matrix3, Matrix4, MatrixBindGroup, MatrixGPUBuffer, MatrixShader, MemoryDO, MemoryInfo, MergeRGBACreator, MergeRGBA_cs, MeshColliderShape, MeshFilter, MeshRenderer, MinMaxAnimationCurves, MinMaxCurve, MinMaxCurveState, MinMaxPolyCurves, MorePassParser, MorePassShader, MorphTargetBlender, MorphTargetData, MorphTargetFrame, MorphTargetTransformKey, MorphTarget_shader, MouseCode, MultiBouncePass_cs, Navi3DAstar, Navi3DConst, Navi3DEdge, Navi3DFunnel, Navi3DMaskType, Navi3DMesh, Navi3DPoint, Navi3DPoint2D, Navi3DPointFat, Navi3DRouter, Navi3DTriangle, NonSerialize, NormalMap_frag, OAnimationEvent, OBJParser, Object3D, Object3DEvent, Object3DTransformTools, Object3DUtil, ObjectAnimClip, OcclusionSystem, Octree, OctreeEntity, OrbitController, OrderMap, Orientation3D, OutLineBlendColor_cs, OutlineCalcOutline_cs, OutlinePass, OutlinePost, OutlinePostData, OutlinePostManager, OutlinePostSlot, Outline_cs, OvershootInterpolator, PBRLItShader, PBRLitSSSShader, ParserBase, ParserFormat, ParticleSystemCurveEvalMode, ParticleSystemRandomnessIds, PassGenerate, PassShader, PassType, PhysicMaterialUniform_frag, PickCompute, PickFire, PickGUIEvent3D, PickResult, Picker_cs, PingPong, PipelinePool, Plane3D, PlaneClassification, PlaneGeometry, PointClassification, PointLight, PointLightShadowRenderer, PointShadowCubeCamera, PointerEvent3D, Polynomial, PolynomialCurve, Polynomials, PoolNode, PostBase, PostProcessingComponent, PostRenderer, PreDepthPassRenderer, PreFilteredEnvironment_cs, PreFilteredEnvironment_cs2, PreIntegratedLut, PreIntegratedLutCompute, PrefabAvatarData, PrefabAvatarParser, PrefabBoneData, PrefabMaterialParser, PrefabMeshData, PrefabMeshParser, PrefabNode, PrefabParser, PrefabStringUtil, PrefabTextureData, PrefabTextureParser, Preprocessor, Probe, ProbeEntries, ProbeGBufferFrame, ProfilerUtil, PropertyAnimClip, PropertyAnimTag, PropertyAnimation, PropertyAnimationClip, PropertyAnimationClipState, PropertyAnimationEvent, PropertyHelp, QuadAABB, QuadGlsl_fs, QuadGlsl_vs, QuadRoot, QuadShader, QuadTree, QuadTreeCell, Quad_depth2dArray_frag_wgsl, Quad_depth2d_frag_wgsl, Quad_depthCube_frag_wgsl, Quad_frag_wgsl, Quad_vert_wgsl, Quaternion, RADIANS_TO_DEGREES, RGBEErrorCode, RGBEHeader, RGBEParser, RTDescriptor, RTFrame, RTResourceConfig, RTResourceMap, Rand, RandomSeed, Ray, RayCastMeshDetail, Reader, Rect, Reference, Reflection, ReflectionCG, ReflectionEntries, ReflectionMaterial, ReflectionRenderer, ReflectionShader, ReflectionShader_shader, RegisterComponent, RegisterShader, RenderContext, RenderLayer, RenderLayerUtil, RenderNode, RenderShaderCollect, RenderShaderCompute, RenderShaderPass, RenderTexture, RendererBase, RendererJob, RendererMap, RendererMask, RendererMaskUtil, RendererPassState, RepeatSE, Res, RotationControlComponents, SHCommon_frag, SN_ArrayConstant, SN_BinaryOperation, SN_Break, SN_CodeBlock, SN_Constant, SN_Continue, SN_Declaration, SN_Discard, SN_DoWhileLoop, SN_Expression, SN_ForLoop, SN_Function, SN_FunctionArgs, SN_FunctionCall, SN_IFBranch, SN_Identifier, SN_IndexOperation, SN_Layout, SN_ParenExpression, SN_Precision, SN_Return, SN_SelectOperation, SN_Struct, SN_TernaryOperation, SN_UnaryOperation, SN_WhileLoop, SSAO_cs, SSGI2_cs, SSGIPost, SSRPost, SSR_BlendColor_cs, SSR_IS_Kernel, SSR_IS_cs, SSR_RayTrace_cs, ScaleControlComponents, Scene3D, Shader, ShaderAttributeInfo, ShaderConverter, ShaderConverterResult, ShaderLib, ShaderPassBase, ShaderReflection, ShaderStage, ShaderState, ShaderUniformInfo, ShaderUtil, ShadingInput, ShadowLightsCollect, ShadowMapPassRenderer, ShadowMapping_frag, Skeleton, SkeletonAnimationClip, SkeletonAnimationClipState, SkeletonAnimationComponent, SkeletonAnimationCompute, SkeletonAnimation_shader, SkeletonBlendComputeArgs, SkeletonPose, SkeletonTransformComputeArgs, SkinnedMeshRenderer, SkinnedMeshRenderer2, SkyGBufferPass, SkyGBuffer_pass, SkyMaterial, SkyRenderer, SkyShader, SolidColorSky, SphereColliderShape, SphereGeometry, SphereReflection, SpotLight, StandShader, StatementNode, StorageGPUBuffer, StringUtil, Struct, StructStorageGPUBuffer, SubGeometry, TAACopyTex_cs, TAAPost, TAASharpTex_cs, TAA_cs, TestComputeLoadBuffer, TextAnchor, TextFieldLayout, TextFieldLine, Texture, TextureCube, TextureCubeFaceData, TextureCubeStdCreator, TextureCubeUtils, TextureMipmapCompute, TextureMipmapGenerator, TextureScaleCompute, ThirdPersonCameraController, TileSet, TileSetChild, TileSetChildContent, TileSetChildContentMetaData, TileSetRoot, TilesRenderer, Time, TokenType, TorusGeometry, TouchData, TrailGeometry, Transform, TransformAxisEnum, TransformControllerBaseComponent, TransformMode, TransformSpaceMode, TranslationControlComponents, TranslatorContext, TriGeometry, Triangle, UIButton, UIButtonTransition, UIComponentBase, UIEvent, UIImage, UIImageGroup, UIInteractive, UIInteractiveStyle, UIPanel, UIRenderAble, UIShadow, UITextField, UITransform, UUID, UV, Uint32ArrayTexture, Uint8ArrayTexture, UnLit, UnLitMaterial, UnLitMaterialUniform_frag, UnLitShader, UnLitTexArrayMaterial, UnLitTexArrayShader, UnLitTextureArray, UnLit_frag, UniformGPUBuffer, UniformNode, UniformType, ValueEnumType, ValueOp, ValueParser, ValueSpread, Vector2, Vector3, Vector3Ex, Vector4, VertexAttribute, VertexAttributeIndexShader, VertexAttributeName, VertexAttributeSize, VertexAttributeStride, VertexAttributes_vert, VertexBufferLayout, VertexFormat, VertexGPUBuffer, Vertical, VideoUniform_frag, View3D, ViewPanel, ViewQuad, VirtualTexture, WGSLTranslator, WayLines3D, WayPoint3D, WebGPUDescriptorCreator, WorldMatrixUniform, WorldPanel, WrapMode, WrapTimeMode, ZCullingCompute, ZPassShader_cs, ZPassShader_fs, ZPassShader_vs, ZSorterUtil, append, arrayToString, blendComponent, buildCurves, byteSizeOfType, calculateCurveRangesValue, calculateMinMax, castPointShadowMap_vert, clamp, clampRepeat, computeAABBFromPositions, cos, crossProduct, cubicPolynomialRoot, cubicPolynomialRootsGeneric, curvesSupportProcedural, deg2Rad, detectGSplatFormat, directionShadowCastMap_frag, dot, doubleIntegrateSegment, downSample, fastInvSqrt, floorfToIntPos, fonts, generateRandom, generateRandom3, getFloatFromInt, getGLTypeFromTypedArray, getGLTypeFromTypedArrayType, getGlobalRandomSeed, getTypedArray, getTypedArrayTypeFromGLType, grad1, grad2, grad3, grad4, inferSHOrder, integrateSegment, irradianceDataReader, kPI, lerp, lerpByte, lerpColor, lerpVector3, magnitude, makeAloneSprite, makeGUISprite, makeMatrix44, matrixMultiply, matrixRotate, matrixRotateY, mergeFunctions, multiplyMatrices4x4REF, normal_distribution, normalizeFast, normalizeSafe, normalizedToByte, normalizedToWord, outlinePostData, outlinePostManager, parsePlyGaussianSplat, parsePlyHeader, perm, post, quadraticPolynomialRootsGeneric, rad2Deg, random01, randomBarycentricCoord, randomPointBetweenEllipsoid, randomPointBetweenSphere, randomPointInsideCube, randomPointInsideEllipsoid, randomPointInsideUnitCircle, randomPointInsideUnitSphere, randomQuaternion, randomQuaternionUniformDistribution, randomSeed, randomUnitVector, randomUnitVector2, rangedRandomFloat, rangedRandomInt, readByType, readMagicBytes, registerMaterial, repeat, rotMatrix, rotateVectorByQuat, roundfToIntPos, scale, shadowCastMap_frag, shadowCastMap_vert, simplex, sin, snoise1, snoise2, snoise3, snoise4, sqrMagnitude, sqrtImpl, stencilStateFace, swap, textureCompress, threshold, toHalfFloat, tw, uniform_real_distribution, uniform_real_distribution2, upSample$1 as upSample, webGPUContext, zSorterUtil };
|