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