这可能很奇怪,因为我知道矢量和标量不能相加。但是我找到了这个例子,在第157行,它做了以下运算:
hsv.x + vec3(0.,2./3.,1./3.)
其中hsv.x恰好是一个float数字,该值来自鼠标的X坐标,其余的是vec3。我的问题是,手术的结果是什么?
hsv.x
float
vec3
irlmq6kh1#
如果您将标量添加到向量,则标量将被添加到向量的每个分量,因为The OpenGL Shading Language规范(版本4.6,第5章“运算符和表达式”)指出:一个操作数是标量,另一个操作数是向量或矩阵。在这种情况下,标量运算独立地应用于向量或矩阵的每个分量,从而产生大小相同的向量或矩阵。
1条答案
按热度按时间irlmq6kh1#
如果您将标量添加到向量,则标量将被添加到向量的每个分量,因为The OpenGL Shading Language规范(版本4.6,第5章“运算符和表达式”)指出:
一个操作数是标量,另一个操作数是向量或矩阵。在这种情况下,标量运算独立地应用于向量或矩阵的每个分量,从而产生大小相同的向量或矩阵。