【发布时间】:2012-06-03 21:56:45
【问题描述】:
我正在使用 three.js 来调用片段着色器——该着色器为我的材质指定一种颜色,分解为 rgb——我想看看是否可以将这些颜色乘以一个随机值。这是我目前使用的代码:
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
【问题讨论】:
-
您是否希望每个片段的随机数不同,但不随帧变化?您是否希望每个片段都相同但逐帧变化?还是两者都想要,从而为观看者带来像素闪烁的噩梦?
-
要么我想。闪烁像素的噩梦听起来很有趣 =) 我现在正在尝试。
标签: javascript glsl webgl three.js