Skip to content

Commit 0cca815

Browse files
authored
WGSLNodeBuilder: Remove obsolete overwrite. (#1737)
* WGSLNodeBuilder: Remove obsolete overwrite. * Update three.js * Add src * Update patch and delete src
1 parent e4f992f commit 0cca815

File tree

3 files changed

+45
-56
lines changed

3 files changed

+45
-56
lines changed

src-testing/changes.patch

Lines changed: 44 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -3307,7 +3307,7 @@ index ee5cf92a..c58f0886 100644
33073307
this.value.lightingModel = this.lightingModel || builder.context.lightingModel;
33083308

33093309
diff --git a/src-testing/src/nodes/tsl/TSLCore.ts b/src-testing/src/nodes/tsl/TSLCore.ts
3310-
index 5252d65c..6265bc43 100644
3310+
index 9f566882..3bf34741 100644
33113311
--- a/src-testing/src/nodes/tsl/TSLCore.ts
33123312
+++ b/src-testing/src/nodes/tsl/TSLCore.ts
33133313
@@ -8,9 +8,38 @@ import FlipNode from '../utils/FlipNode.js';
@@ -3560,7 +3560,7 @@ index 5252d65c..6265bc43 100644
35603560
const bools = [false, true];
35613561
const uints = [0, 1, 2, 3];
35623562
const ints = [-1, -2];
3563-
@@ -488,10 +661,27 @@ export function ShaderNode(jsFunc, nodeType) {
3563+
@@ -480,10 +653,27 @@ export function ShaderNode(jsFunc, nodeType) {
35643564
return new Proxy(new ShaderNodeInternal(jsFunc, nodeType), shaderNodeHandler);
35653565
}
35663566

@@ -7481,7 +7481,7 @@ index 51663d80..0ccb2461 100644
74817481

74827482
/**
74837483
diff --git a/src-testing/src/renderers/common/SampledTexture.ts b/src-testing/src/renderers/common/SampledTexture.ts
7484-
index 59359763..2950603b 100644
7484+
index bc5a3f61..08cc8956 100644
74857485
--- a/src-testing/src/renderers/common/SampledTexture.ts
74867486
+++ b/src-testing/src/renderers/common/SampledTexture.ts
74877487
@@ -1,4 +1,6 @@
@@ -7521,19 +7521,10 @@ index 59359763..2950603b 100644
75217521
*/
75227522
- needsBindingsUpdate(generation) {
75237523
+ needsBindingsUpdate(generation: number) {
7524-
const { texture } = this;
7525-
75267524
if (generation !== this.generation) {
7527-
@@ -82,7 +93,7 @@ class SampledTexture extends Binding {
7528-
return true;
7529-
}
7525+
this.generation = generation;
75307526

7531-
- return texture.isVideoTexture;
7532-
+ return (texture as VideoTexture).isVideoTexture;
7533-
}
7534-
7535-
/**
7536-
@@ -111,13 +122,15 @@ class SampledTexture extends Binding {
7527+
@@ -109,13 +120,15 @@ class SampledTexture extends Binding {
75377528
* @augments SampledTexture
75387529
*/
75397530
class SampledArrayTexture extends SampledTexture {
@@ -7550,7 +7541,7 @@ index 59359763..2950603b 100644
75507541
super(name, texture);
75517542

75527543
/**
7553-
@@ -138,13 +151,15 @@ class SampledArrayTexture extends SampledTexture {
7544+
@@ -136,13 +149,15 @@ class SampledArrayTexture extends SampledTexture {
75547545
* @augments SampledTexture
75557546
*/
75567547
class Sampled3DTexture extends SampledTexture {
@@ -7567,7 +7558,7 @@ index 59359763..2950603b 100644
75677558
super(name, texture);
75687559

75697560
/**
7570-
@@ -165,13 +180,15 @@ class Sampled3DTexture extends SampledTexture {
7561+
@@ -163,13 +178,15 @@ class Sampled3DTexture extends SampledTexture {
75717562
* @augments SampledTexture
75727563
*/
75737564
class SampledCubeTexture extends SampledTexture {
@@ -7634,7 +7625,7 @@ index 4b7c259d..96cda7ef 100644
76347625

76357626
/**
76367627
diff --git a/src-testing/src/renderers/common/Textures.ts b/src-testing/src/renderers/common/Textures.ts
7637-
index f330f6e9..2dcd8ddf 100644
7628+
index 43cd8400..f78b4c21 100644
76387629
--- a/src-testing/src/renderers/common/Textures.ts
76397630
+++ b/src-testing/src/renderers/common/Textures.ts
76407631
@@ -9,8 +9,46 @@ import {
@@ -7737,12 +7728,13 @@ index f330f6e9..2dcd8ddf 100644
77377728
let image = texture.images ? texture.images[0] : texture.image;
77387729

77397730
if (image) {
7740-
@@ -306,12 +351,12 @@ class Textures extends DataMap {
7741-
7742-
target.width = image.width || 1;
7743-
target.height = image.height || 1;
7744-
- target.depth = texture.isCubeTexture ? 6 : image.depth || 1;
7745-
+ target.depth = (texture as CubeTexture).isCubeTexture ? 6 : image.depth || 1;
7731+
@@ -311,13 +356,13 @@ class Textures extends DataMap {
7732+
} else {
7733+
target.width = image.width || 1;
7734+
target.height = image.height || 1;
7735+
- target.depth = texture.isCubeTexture ? 6 : image.depth || 1;
7736+
+ target.depth = (texture as CubeTexture).isCubeTexture ? 6 : image.depth || 1;
7737+
}
77467738
} else {
77477739
target.width = target.height = target.depth = 1;
77487740
}
@@ -7752,7 +7744,7 @@ index f330f6e9..2dcd8ddf 100644
77527744
}
77537745

77547746
/**
7755-
@@ -322,10 +367,10 @@ class Textures extends DataMap {
7747+
@@ -328,10 +373,10 @@ class Textures extends DataMap {
77567748
* @param {number} height - The texture's height.
77577749
* @return {number} The number of mipmap levels.
77587750
*/
@@ -7765,7 +7757,7 @@ index f330f6e9..2dcd8ddf 100644
77657757
if (texture.mipmaps) {
77667758
mipLevelCount = texture.mipmaps.length;
77677759
} else {
7768-
@@ -344,8 +389,8 @@ class Textures extends DataMap {
7760+
@@ -350,8 +395,8 @@ class Textures extends DataMap {
77697761
* @param {Texture} texture - The texture.
77707762
* @return {boolean} Whether mipmaps are required or not.
77717763
*/
@@ -7776,7 +7768,7 @@ index f330f6e9..2dcd8ddf 100644
77767768
}
77777769

77787770
/**
7779-
@@ -354,7 +399,7 @@ class Textures extends DataMap {
7771+
@@ -360,7 +405,7 @@ class Textures extends DataMap {
77807772
*
77817773
* @param {Texture} texture - The texture to destroy.
77827774
*/
@@ -10120,7 +10112,7 @@ index c273fb8b..4c0c40cb 100644
1012010112
const nodeData = this.getDataFromNode(node, shaderStage, this.globalCache);
1012110113

1012210114
diff --git a/src-testing/src/renderers/webgpu/WebGPUBackend.ts b/src-testing/src/renderers/webgpu/WebGPUBackend.ts
10123-
index 6a0a2c85..2c17e42c 100644
10115+
index 1bacc55b..b66f5efa 100644
1012410116
--- a/src-testing/src/renderers/webgpu/WebGPUBackend.ts
1012510117
+++ b/src-testing/src/renderers/webgpu/WebGPUBackend.ts
1012610118
@@ -1615,7 +1615,14 @@ class WebGPUBackend extends Backend {
@@ -10222,7 +10214,7 @@ index 37784a05..7b08961a 100644
1022210214
+
1022310215
export default StandardNodeLibrary;
1022410216
diff --git a/src-testing/src/renderers/webgpu/nodes/WGSLNodeBuilder.ts b/src-testing/src/renderers/webgpu/nodes/WGSLNodeBuilder.ts
10225-
index fabe7508..26e15076 100644
10217+
index 7ad0a416..9294b0b2 100644
1022610218
--- a/src-testing/src/renderers/webgpu/nodes/WGSLNodeBuilder.ts
1022710219
+++ b/src-testing/src/renderers/webgpu/nodes/WGSLNodeBuilder.ts
1022810220
@@ -10,7 +10,7 @@ import {
@@ -10234,7 +10226,7 @@ index fabe7508..26e15076 100644
1023410226

1023510227
import { getFormat } from '../utils/WebGPUTextureUtils.js';
1023610228

10237-
@@ -28,6 +28,8 @@ import {
10229+
@@ -27,6 +27,8 @@ import {
1023810230
MirroredRepeatWrapping,
1023910231
NearestFilter,
1024010232
} from '../../../constants.js';
@@ -10243,7 +10235,7 @@ index fabe7508..26e15076 100644
1024310235

1024410236
// GPUShaderStage is not defined in browsers not supporting WebGPU
1024510237
const GPUShaderStage = typeof self !== 'undefined' ? self.GPUShaderStage : { VERTEX: 1, FRAGMENT: 2, COMPUTE: 4 };
10246-
@@ -257,7 +259,13 @@ class WGSLNodeBuilder extends NodeBuilder {
10238+
@@ -246,7 +248,13 @@ class WGSLNodeBuilder extends NodeBuilder {
1024710239
* @param {string} [shaderStage=this.shaderStage] - The shader stage this code snippet is generated for.
1024810240
* @return {string} The WGSL snippet.
1024910241
*/
@@ -10258,7 +10250,7 @@ index fabe7508..26e15076 100644
1025810250
if (shaderStage === 'fragment') {
1025910251
if (depthSnippet) {
1026010252
return `textureSample( ${textureProperty}, ${textureProperty}_sampler, ${uvSnippet}, ${depthSnippet} )`;
10261-
@@ -465,7 +473,13 @@ class WGSLNodeBuilder extends NodeBuilder {
10253+
@@ -437,7 +445,13 @@ class WGSLNodeBuilder extends NodeBuilder {
1026210254
* @param {string} [levelSnippet='0u'] - A WGSL snippet that represents the mip level, with level 0 containing a full size version of the texture.
1026310255
* @return {string} The WGSL snippet.
1026410256
*/
@@ -10273,7 +10265,7 @@ index fabe7508..26e15076 100644
1027310265
const wrapFunction = this.generateWrapFunction(texture);
1027410266
const textureDimension = this.generateTextureDimension(texture, textureProperty, levelSnippet);
1027510267

10276-
@@ -485,9 +499,14 @@ class WGSLNodeBuilder extends NodeBuilder {
10268+
@@ -457,9 +471,14 @@ class WGSLNodeBuilder extends NodeBuilder {
1027710269
* @param {string} [levelSnippet='0u'] - A WGSL snippet that represents the mip level, with level 0 containing a full size version of the texture.
1027810270
* @return {string} The WGSL snippet.
1027910271
*/
@@ -10287,10 +10279,10 @@ index fabe7508..26e15076 100644
1028710279
+ ) {
1028810280
let snippet;
1028910281
-
10290-
if (texture.isVideoTexture === true) {
10291-
snippet = `textureLoad( ${textureProperty}, ${uvIndexSnippet} )`;
10292-
} else if (depthSnippet) {
10293-
@@ -588,11 +607,11 @@ class WGSLNodeBuilder extends NodeBuilder {
10282+
if (depthSnippet) {
10283+
snippet = `textureLoad( ${textureProperty}, ${uvIndexSnippet}, ${depthSnippet}, u32( ${levelSnippet} ) )`;
10284+
} else {
10285+
@@ -556,11 +575,11 @@ class WGSLNodeBuilder extends NodeBuilder {
1029410286
* @return {string} The WGSL snippet.
1029510287
*/
1029610288
generateTextureGrad(
@@ -10307,7 +10299,7 @@ index fabe7508..26e15076 100644
1030710299
shaderStage = this.shaderStage,
1030810300
) {
1030910301
if (shaderStage === 'fragment') {
10310-
@@ -616,11 +635,11 @@ class WGSLNodeBuilder extends NodeBuilder {
10302+
@@ -584,11 +603,11 @@ class WGSLNodeBuilder extends NodeBuilder {
1031110303
* @return {string} The WGSL snippet.
1031210304
*/
1031310305
generateTextureCompare(
@@ -10324,24 +10316,22 @@ index fabe7508..26e15076 100644
1032410316
shaderStage = this.shaderStage,
1032510317
) {
1032610318
if (shaderStage === 'fragment') {
10327-
@@ -648,11 +667,11 @@ class WGSLNodeBuilder extends NodeBuilder {
10319+
@@ -615,7 +634,13 @@ class WGSLNodeBuilder extends NodeBuilder {
10320+
* @param {string} [shaderStage=this.shaderStage] - The shader stage this code snippet is generated for.
1032810321
* @return {string} The WGSL snippet.
1032910322
*/
10330-
generateTextureLevel(
10331-
- texture,
10332-
- textureProperty,
10333-
- uvSnippet,
10334-
- levelSnippet,
10335-
- depthSnippet,
10323+
- generateTextureLevel(texture, textureProperty, uvSnippet, levelSnippet, depthSnippet) {
10324+
+ generateTextureLevel(
1033610325
+ texture: Texture,
1033710326
+ textureProperty: string,
1033810327
+ uvSnippet: string | null,
1033910328
+ levelSnippet: string | null,
1034010329
+ depthSnippet: string | null,
10341-
shaderStage = this.shaderStage,
10342-
) {
10343-
let snippet = null;
10344-
@@ -678,11 +697,11 @@ class WGSLNodeBuilder extends NodeBuilder {
10330+
+ ) {
10331+
if (this.isUnfilterable(texture) === false) {
10332+
return `textureSampleLevel( ${textureProperty}, ${textureProperty}_sampler, ${uvSnippet}, ${levelSnippet} )`;
10333+
} else if (this.isFilteredTexture(texture)) {
10334+
@@ -637,11 +662,11 @@ class WGSLNodeBuilder extends NodeBuilder {
1034510335
* @return {string} The WGSL snippet.
1034610336
*/
1034710337
generateTextureBias(
@@ -10358,7 +10348,7 @@ index fabe7508..26e15076 100644
1035810348
shaderStage = this.shaderStage,
1035910349
) {
1036010350
if (shaderStage === 'fragment') {
10361-
@@ -699,7 +718,7 @@ class WGSLNodeBuilder extends NodeBuilder {
10351+
@@ -658,7 +683,7 @@ class WGSLNodeBuilder extends NodeBuilder {
1036210352
* @param {string} [shaderStage=this.shaderStage] - The shader stage this code snippet is generated for.
1036310353
* @return {string} The property name.
1036410354
*/
@@ -10367,7 +10357,7 @@ index fabe7508..26e15076 100644
1036710357
if (node.isNodeVarying === true && node.needsInterpolation === true) {
1036810358
if (shaderStage === 'vertex') {
1036910359
return `varyings.${node.name}`;
10370-
@@ -788,7 +807,12 @@ class WGSLNodeBuilder extends NodeBuilder {
10360+
@@ -747,7 +772,12 @@ class WGSLNodeBuilder extends NodeBuilder {
1037110361
* @param {?string} [name=null] - An optional uniform name.
1037210362
* @return {NodeUniform} The node uniform object.
1037310363
*/
@@ -10381,7 +10371,7 @@ index fabe7508..26e15076 100644
1038110371
const uniformNode = super.getUniformFromNode(node, type, shaderStage, name);
1038210372
const nodeData = this.getDataFromNode(node, shaderStage, this.globalCache);
1038310373

10384-
@@ -919,7 +943,7 @@ class WGSLNodeBuilder extends NodeBuilder {
10374+
@@ -882,7 +912,7 @@ class WGSLNodeBuilder extends NodeBuilder {
1038510375
* @param {ShaderNodeInternal} shaderNode - The shader node.
1038610376
* @return {string} The WGSL function code.
1038710377
*/
@@ -10390,7 +10380,7 @@ index fabe7508..26e15076 100644
1039010380
const layout = shaderNode.layout;
1039110381
const flowData = this.flowShaderNode(shaderNode);
1039210382

10393-
@@ -1203,8 +1227,8 @@ ${flowData.code}
10383+
@@ -1166,8 +1196,8 @@ ${flowData.code}
1039410384
* @param {string} shaderStage - The shader stage.
1039510385
* @return {string} The WGSL snippet that defines the shader attributes.
1039610386
*/
@@ -10401,7 +10391,7 @@ index fabe7508..26e15076 100644
1040110391

1040210392
if (shaderStage === 'compute') {
1040310393
this.getBuiltin('global_invocation_id', 'globalId', 'vec3<u32>', 'attribute');
10404-
@@ -1338,8 +1362,8 @@ ${flowData.code}
10394+
@@ -1301,8 +1331,8 @@ ${flowData.code}
1040510395
* @param {string} shaderStage - The shader stage.
1040610396
* @return {string} The WGSL snippet that defines the varyings.
1040710397
*/
@@ -10412,7 +10402,7 @@ index fabe7508..26e15076 100644
1041210402

1041310403
if (shaderStage === 'vertex') {
1041410404
this.getBuiltin('position', 'Vertex', 'vec4<f32>', 'vertex');
10415-
@@ -1404,7 +1428,7 @@ ${flowData.code}
10405+
@@ -1367,7 +1397,7 @@ ${flowData.code}
1041610406
* @param {string} shaderStage - The shader stage.
1041710407
* @return {string} The WGSL snippet that defines the uniforms.
1041810408
*/

types/three/src/renderers/webgpu/nodes/WGSLNodeBuilder.d.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ export default class WGSLNodeBuilder extends NodeBuilder {
1919
builtins: { [key in BuiltinStage]: Map<string, BuiltinType> };
2020
uniformGroups: { [key in NodeShaderStage]: NodeUniformsGroup };
2121

22-
needsToWorkingColorSpace(texture: Texture): boolean;
2322
_generateTextureSample(
2423
texture: Texture,
2524
textureProperty: string,

0 commit comments

Comments
 (0)