Skip to content

Commit fa1fe4c

Browse files
authored
Merge pull request #8705 from LalitNarayanYadav/refactor/noise-backend
Refactor: Move getNoiseShaderSnippet to strands backend
2 parents 5888d55 + 10f180a commit fa1fe4c

File tree

6 files changed

+10
-14
lines changed

6 files changed

+10
-14
lines changed

src/image/filterRenderer2D.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ import filterBaseVert from '../webgl/shaders/filters/base.vert';
1717
import webgl2CompatibilityShader from '../webgl/shaders/webgl2Compatibility.glsl';
1818
import { glslBackend } from '../webgl/strands_glslBackend';
1919
import { getShaderHookTypes } from '../webgl/shaderHookUtils';
20-
import noiseGLSL from '../webgl/shaders/functions/noise3DGLSL.glsl';
2120
import { makeFilterShader } from '../core/filterShaders';
2221

2322
class FilterRenderer2D {
@@ -309,9 +308,6 @@ class FilterRenderer2D {
309308
return this._baseFilterShader;
310309
}
311310

312-
getNoiseShaderSnippet() {
313-
return noiseGLSL;
314-
}
315311

316312
/**
317313
* Set the current filter operation and parameter. If a customShader is provided,

src/strands/strands_api.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ export function initGlobalStrandsAPI(p5, fn, strandsContext) {
337337
return originalNoise.apply(this, args); // fallback to regular p5.js noise
338338
}
339339
// Get noise shader snippet from the current renderer
340-
const noiseSnippet = this._renderer.getNoiseShaderSnippet();
340+
const noiseSnippet = strandsContext.backend.getNoiseShaderSnippet();
341341
strandsContext.vertexDeclarations.add(noiseSnippet);
342342
strandsContext.fragmentDeclarations.add(noiseSnippet);
343343
strandsContext.computeDeclarations.add(noiseSnippet);

src/webgl/p5.RendererGL.js

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import { Image } from '../image/p5.Image';
1919
import { glslBackend } from './strands_glslBackend';
2020
import { TypeInfoFromGLSLName } from '../strands/ir_types.js';
2121
import { getShaderHookTypes } from './shaderHookUtils';
22-
import noiseGLSL from './shaders/functions/noise3DGLSL.glsl';
2322

2423
import filterBaseVert from "./shaders/filters/base.vert";
2524
import lightingShader from "./shaders/lighting.glsl";
@@ -1905,10 +1904,6 @@ class RendererGL extends Renderer3D {
19051904
}
19061905
}
19071906

1908-
getNoiseShaderSnippet() {
1909-
return noiseGLSL;
1910-
}
1911-
19121907
}
19131908

19141909
function rendererGL(p5, fn) {

src/webgl/strands_glslBackend.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import noiseGLSL from './shaders/functions/noise3DGLSL.glsl';
12
import { NodeType, OpCodeToSymbol, BlockType, OpCode, NodeTypeToName, isStructType, BaseType, StatementType, DataType, INSTANCE_ID_VARYING_NAME } from "../strands/ir_types";
23
import { getNodeDataFromID, extractNodeTypeInfo } from "../strands/ir_dag";
34
import * as FES from '../strands/strands_FES';
@@ -169,6 +170,9 @@ export const glslBackend = {
169170
}).join(', ')}) {`;
170171
return firstLine;
171172
},
173+
getNoiseShaderSnippet() {
174+
return noiseGLSL;
175+
},
172176
getTypeName(baseType, dimension) {
173177
const primitiveTypeName = TypeNames[baseType + dimension]
174178
if (!primitiveTypeName) {

src/webgpu/p5.RendererWebGPU.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import { materialVertexShader, materialFragmentShader } from './shaders/material
1414
import { fontVertexShader, fontFragmentShader } from './shaders/font';
1515
import { blitVertexShader, blitFragmentShader } from './shaders/blit';
1616
import { wgslBackend } from './strands_wgslBackend';
17-
import noiseWGSL from './shaders/functions/noise3DWGSL';
1817
import { baseFilterVertexShader, baseFilterFragmentShader } from './shaders/filters/base';
1918
import { imageLightVertexShader, imageLightDiffusedFragmentShader, imageLightSpecularFragmentShader } from './shaders/imageLight';
2019
import { baseComputeShader } from './shaders/compute';
@@ -3673,9 +3672,6 @@ ${hookUniformFields}}
36733672
return super.filter(...args);
36743673
}
36753674

3676-
getNoiseShaderSnippet() {
3677-
return noiseWGSL;
3678-
}
36793675

36803676

36813677
baseFilterShader() {

src/webgpu/strands_wgslBackend.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import noiseWGSL from './shaders/functions/noise3DWGSL.js';
12
import { NodeType, OpCodeToSymbol, BlockType, OpCode, NodeTypeToName, isStructType, BaseType, StatementType, DataType, INSTANCE_ID_VARYING_NAME } from "../strands/ir_types";
23
import { getNodeDataFromID, extractNodeTypeInfo } from "../strands/ir_dag";
34
import * as FES from '../strands/strands_FES';
@@ -263,6 +264,10 @@ export const wgslBackend = {
263264
}
264265
return primitiveTypeName;
265266
},
267+
getNoiseShaderSnippet() {
268+
return noiseWGSL;
269+
},
270+
266271
generateHookUniformKey(name, typeInfo) {
267272
// For sampler2D types, we don't add them to the uniform struct,
268273
// but we still need them in the shader's hooks object so that

0 commit comments

Comments
 (0)