noise by gb channek

This commit is contained in:
Kseninia Mikhaylova 2024-09-30 13:17:19 +03:00
parent 7c0c7cd6c3
commit 1dce9e7ea9
1 changed files with 3 additions and 10 deletions

View File

@ -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);
`
);
};