函数的参数
Parameters of a function
所以我一直在关注这个关于 webgl 的在线教程,我已经到了使用 "gl_FragColor = vec4(surfacePosition, 0., 1.)*cos(time); " 的这一部分。我一直在到处寻找 0. 和 1. 代表什么。那么我想问的是,是否有人可以解释这些参数是什么?为什么我必须将像素的位置 (surfacePosition) 提供给颜色函数?
vec4 构造函数需要一个 4 维值(也就是说 4 个值)。
(基本上是 RGBA,因为它是一种颜色)
所以当你给它一个二维值surfacePosition
(这将是红色和绿色分量)时,仍然需要2个值,这将代表蓝色分量和透明度分量,它们分别是0. 和 1.
(0 和 1 转换为浮点数)
第一题到此为止。
对于第二个,它只取决于你想做什么。
使用像素的位置(以防 surfacePosition
实际表示它)直接作为结果颜色中的分量表明您只想根据像素的位置为像素着色。
但这只取决于你的目标是什么,你不需要"have to provide the position of the pixel",你只是根据需要计算最终颜色。
所以我一直在关注这个关于 webgl 的在线教程,我已经到了使用 "gl_FragColor = vec4(surfacePosition, 0., 1.)*cos(time); " 的这一部分。我一直在到处寻找 0. 和 1. 代表什么。那么我想问的是,是否有人可以解释这些参数是什么?为什么我必须将像素的位置 (surfacePosition) 提供给颜色函数?
vec4 构造函数需要一个 4 维值(也就是说 4 个值)。
(基本上是 RGBA,因为它是一种颜色)
所以当你给它一个二维值surfacePosition
(这将是红色和绿色分量)时,仍然需要2个值,这将代表蓝色分量和透明度分量,它们分别是0. 和 1.
(0 和 1 转换为浮点数)
第一题到此为止。
对于第二个,它只取决于你想做什么。
使用像素的位置(以防 surfacePosition
实际表示它)直接作为结果颜色中的分量表明您只想根据像素的位置为像素着色。
但这只取决于你的目标是什么,你不需要"have to provide the position of the pixel",你只是根据需要计算最终颜色。