Skip to content

Commit 1027eb4

Browse files
committed
added noise to lines
1 parent 7ee6312 commit 1027eb4

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

lines-vi/lineMaterial.js

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ class LineMaterial extends MeshStandardMaterial {
2323
rim: 0.9,
2424
noiseScale: 0.1,
2525
noiseAmplitude: 0.3,
26+
linesNoiseScale: 5,
27+
linesNoiseAmplitude: 0.5,
2628
};
2729

2830
this.uniforms = {
@@ -37,6 +39,8 @@ class LineMaterial extends MeshStandardMaterial {
3739
rim: { value: this.params.rim },
3840
noiseScale: { value: this.params.noiseScale },
3941
noiseAmplitude: { value: this.params.noiseAmplitude },
42+
linesNoiseScale: { value: this.params.linesNoiseScale },
43+
linesNoiseAmplitude: { value: this.params.linesNoiseAmplitude },
4044
};
4145

4246
this.onBeforeCompile = (shader, renderer) => {
@@ -75,7 +79,9 @@ class LineMaterial extends MeshStandardMaterial {
7579
uniform float rim;
7680
uniform float noiseScale;
7781
uniform float noiseAmplitude;
78-
82+
uniform float linesNoiseScale;
83+
uniform float linesNoiseAmplitude;
84+
7985
in vec3 vPosition;
8086
in vec2 vCoords;
8187
in vec4 vWorldPosition;
@@ -160,7 +166,7 @@ class LineMaterial extends MeshStandardMaterial {
160166
// float de = length(vec2(dFdx(vWorldPosition.x), dFdy(vWorldPosition.y)));
161167
float de = .001 * length(vec2(dFdx(gl_FragCoord.x), dFdy(gl_FragCoord.y)));
162168
float e = .1 * de;
163-
vec2 coords = scale*100.*vWorldPosition.xy/(de*500.);
169+
vec2 coords = scale*100.*(vWorldPosition.xy/(de*500.)) + linesNoiseAmplitude * noise(linesNoiseScale*vWorldPosition.xy);
164170
165171
float border = pow(smoothstep(0.,.25, r), rim);
166172
l *= border;
@@ -200,6 +206,12 @@ function generateParams(gui, material) {
200206
gui
201207
.add(params, "scale", 0.1, 3, 0.001)
202208
.onChange((v) => (material.uniforms.scale.value = v));
209+
gui
210+
.add(params, "linesNoiseScale", 0, 20, 0.1)
211+
.onChange((v) => (material.uniforms.linesNoiseScale.value = v));
212+
gui
213+
.add(params, "linesNoiseAmplitude", 0, 1, 0.01)
214+
.onChange((v) => (material.uniforms.linesNoiseAmplitude.value = v));
203215
gui
204216
.add(params, "angle", 0, 2 * Math.PI, 0.001)
205217
.onChange((v) => (material.uniforms.angle.value = v));

0 commit comments

Comments
 (0)