伙计们。我正在为WebGL应用程序学习glsl。我在选择glsl中的颜色类型时遇到问题。
看来我可以同时使用vec3
和vec4
作为颜色。经过研究,我发现THREE.js使用vec3
:
// from https://github.com/mrdoob/three.js/blob/dev/src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl
struct BlinnPhongMaterial {
vec3 diffuseColor;
vec3 specularColor;
float specularShininess;
float specularStrength;
};
但是在Babylon.js,osgjs,playcanvas中,它们都使用vec4
。
为颜色类型使用vec3
和vec4
有什么区别?
我应该选择哪个?
谢谢。