首页 > 解决方案 > 我应该在 glsl 中使用 vec3 还是 vec4 作为颜色类型?

问题描述

伙计们。我正在为 WebGL 应用程序学习 glsl。我在 glsl 中选择颜色类型时遇到问题。

看来我可以同时使用vec3vec4作为颜色。经过研究,我发现三个.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.

vec3using和vec4for color type有什么区别?

我应该选择哪个?

谢谢。

标签: glsl

解决方案


推荐阅读