Я использую three.js для вызова фрагментарного шейдера - этот шейдер определяет цвет моего материала, разбитый на rgb, - и я хочу посмотреть, могу ли я умножить эти цвета по случайному значению. Это код, я использую до сих пор:three.js/webGL/GLSL - использование случайной математики
gl_FragColor = vec4(color.r*.5, color.g, color.b, smoothstep(8000.0, -8000.0, gl_FragCoord.z/gl_FragCoord.w)); //MH - creates colors by multiplying color values
и это то, что я хотел бы сделать, если бы это было JavaScript, хотя очевидно, что это не работает внутри GLSL шейдеров сценария:
gl_FragColor = vec4(color.r*Math.random(), color.g, color.b, smoothstep(8000.0, -8000.0, gl_FragCoord.z/gl_FragCoord.w)); //MH - creates colors by multiplying color values
Вы хотите, чтобы случайное число отличалось для каждого фрагмента, но не менялось от кадра к кадру? Вы хотите, чтобы он был одинаковым для каждого фрагмента, но менялся от кадра к кадру? Или вы хотите оба, создавая тем самым кошмар мигающих пикселей для зрителя? –
Либо я полагаю. Кошмар мигающих пикселей звучит интригующе =) Я экспериментирую на этом этапе. – mheavers