所以我一直在关注这个关于webgl的在线教程,我已经到了这个部分,其中" gl_FragColor = vec4(surfacePosition,0。,1。)* cos(时间); "用来 。而且我一直在寻找各处找到0.和1.代表的东西。所以,我问的是否有人可以解释这些参数是什么?为什么我必须提供像素(surfacePosition)的位置到颜色函数?
答案 0 :(得分:2)
vec4构造函数需要一个4维值(也就是4个值)。
(基本上是RGBA,因为它是一种颜色)
因此当你给它一个带有surfacePosition
的2维值(它将是红色和绿色分量)时,仍需要2个值,它们将代表蓝色分量和透明度分量,它们分别为0。和1.
(0和1转换为浮点数)
这是第一个问题。
对于第二个,它只取决于你想做什么。
使用像素的位置(如果surfacePosition
实际上代表它)直接作为结果颜色中的组件表明你只想根据它们的位置着色像素。
但这取决于你的目标是什么,你不必提供像素的位置",你只需要根据需要计算最终颜色。