noise by gb channek
This commit is contained in:
parent
7c0c7cd6c3
commit
1dce9e7ea9
|
@ -92,27 +92,20 @@ export const set_material = (scene: any, color: any, pattern: { pattern: pattern
|
|||
|
||||
// Изменяем фрагментный шейдер
|
||||
shader.fragmentShader = `
|
||||
varying vec2 vPosition;
|
||||
float random(float p) {
|
||||
return fract(sin(p) * 10000.0);
|
||||
}
|
||||
|
||||
float noise(vec2 p) {
|
||||
return random(p.x + p.y * 10000.0);
|
||||
}
|
||||
|
||||
float stepNoise(vec2 p) {
|
||||
return noise(floor(p));
|
||||
return random((p.x + p.y) * 10000.0);
|
||||
}
|
||||
${shader.fragmentShader}
|
||||
`.replace(
|
||||
`#include <dithering_fragment>`,
|
||||
`#include <dithering_fragment>
|
||||
|
||||
vec2 p = vPosition * 10000.0;
|
||||
float brightness = stepNoise(p);
|
||||
float lightingEffect = dot(vNormal, vec3(0.0, 0.0, 1.0));
|
||||
gl_FragColor.rgb *= vec3(brightness) * lightingEffect;
|
||||
float noise_v = noise(gl_FragColor.rg);
|
||||
gl_FragColor.rgb += vec3(noise_v);
|
||||
`
|
||||
);
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue