这可能很奇怪,因为据我所知,矢量和标量无法添加。但是,我发现了this sample,在第157行,它执行了以下操作:
hsv.x + vec3(0.,2./3.,1./3.)
其中hsv.x
恰好是float
个数字,该值来自鼠标X坐标,其余值为vec3
。
我的问题是该操作的结果是什么?
答案 0 :(得分:2)
如果向向量添加标量,则标量将添加到向量的每个组件,因为The OpenGL Shading Language规范(版本4.6,第5章运算符和表达式)说:
一个操作数是标量,另一个是矢量或矩阵。在这种情况下,标量操作是 独立地应用于矢量或矩阵的每个分量,产生相同大小的矢量 或矩阵。