因此,我一直在关注webgl上的在线教程,并使用了"gl_FragColor = vec4(surfacePosition,0,1.)*cos(Time)“这一部分。我一直在到处找那0。以及1.代表。我想问的是,是否有人能解释这些参数是什么?为什么我要把像素(surfacePosition)的位置提供给颜色函数呢?
发布于 2016-01-27 14:53:07
vec4构造函数需要一个4维值(即4个值)。
(基本上是RGBA的颜色)
因此,当您使用surfacePosition (将是红色和绿色组件)给它一个二维值时,仍然需要2个值,它将表示蓝色组件和透明组件,分别为0。和1。
(0和1抛入浮点数)
第一个问题就到这里了。
对于第二个问题,它仅仅取决于你想要做什么。直接使用像素的位置(万一surfacePosition实际上表示它),因为结果颜色中的组件表明您只想根据像素的位置对其进行着色。
但这取决于你的目标是什么,你不需要“提供像素的位置”,你只需要计算你想要的最终颜色。
https://stackoverflow.com/questions/35040124
复制相似问题