选择代码行,该代码行返回一个vec4
值应用于float alpha
的{{1}}
vec3 color*
答案 0 :(得分:1)
在glsl中,向量也可以从其他向量构造。参见Data Type (GLSL) - Vector constructors:
如果您有vec3 color
和float alpha
,则可以构造具有4个分量的向量:
vec4 color_rgba = vec4(color, alpha)
如果向量乘以浮点值,则向量的每个分量都将乘以浮点值。参见GLSL Programming/Vector and Matrix Operations:
color * alpha
与
相同vec3(color.r * alpha, color.g * alpha, color.b * alpha)
这就是问题的答案
选择代码行,该代码行返回一个
vec4
值应用于float alpha
的{{1}}
是:
vec3 color
与
相同vec4(color * alpha, alpha)
或
vec4(color.r * alpha, color.g * alpha, color.b * alpha, alpha)
表达式
vec4(color.rgb, 1.0) * alpha
由于格式为vec4(color, color + alpha)
vec4(color * alpha, color * alpha)
,因此会出现编译时错误。