Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opengl es WebGL/Three.js着色器.r和.g是什么意思?_Opengl Es_Three.js_Webgl - Fatal编程技术网

Opengl es WebGL/Three.js着色器.r和.g是什么意思?

Opengl es WebGL/Three.js着色器.r和.g是什么意思?,opengl-es,three.js,webgl,Opengl Es,Three.js,Webgl,所以我通过示例学习着色器,我经常看到.r和.g,这两个字母是什么意思 我甚至不知道该用谷歌搜索什么,因为我不知道在GL着色器程序中使用这两个字母G和R的术语和用法 vec2 uvNoiseTimeShift = vUv + noiseScale * vec2( noiseGeneratorTimeShift.r, noiseGeneratorTimeShift.g ); 当用g替换r时,效果似乎是

所以我通过示例学习着色器,我经常看到.r和.g,这两个字母是什么意思

我甚至不知道该用谷歌搜索什么,因为我不知道在GL着色器程序中使用这两个字母G和R的术语和用法

vec2 uvNoiseTimeShift = vUv + noiseScale * vec2( noiseGeneratorTimeShift.r,
                                                 noiseGeneratorTimeShift.g );

当用g替换r时,效果似乎是一样的,所以我不确定这些属性的作用是什么。

这是所谓的,返回向量的相应分量,其中,
r
对应于
x
等等。

所以x和y在webgl中的名称不同?我在本文中不理解的是我们为什么需要它们。如果使用
myVec.x
或者
myVec.r
或者
myVec.s
或者甚至
myVec[0]
,都没有关系。它们都返回或设置相同的值。这是一种更好的访问向量组件的方法。我非常感谢您提供的信息,尤其是术语,因为我现在能够进一步加深我的知识。也希望它能帮助其他用户。我需要再等5分钟才能接受你的回答如果他们说“r”表示红色,“g”表示蓝色,那么接受的答案会更有意义。这是一种GLSL方法,用于访问向量的R、G、B和a(lpha)。十、 Y、Z和W也可以用在它们的位置上,因为它们的意思是相同的,向量的第一、第二、第三和第四个元素。@beiller哇,这非常有用。谢谢他们选择x、y、z、w作为替代品有什么原因吗?颜色和顶点位置的基本数据格式是相同的,一个浮点数数组。所以这是为了方便起见,在做向量数学时可以使用xyz,在处理代码中的颜色时可以使用rgb。@beiller这非常有用。顺便问一下,贝勒,你可能对我关于mipmapping stackoverflow.com/questions/3404978/mipmap-a-planet-in-three-js的最新问题感兴趣