glsl - 我应该在 glsl 中使用 vec3 还是 vec4 作为颜色类型?
问题描述
伙计们。我正在为 WebGL 应用程序学习 glsl。我在 glsl 中选择颜色类型时遇到问题。
看来我可以同时使用vec3
和vec4
作为颜色。经过研究,我发现三个.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
using和vec4
for color type有什么区别?
我应该选择哪个?
谢谢。
解决方案
推荐阅读
- hive - 失败:语义异常 org.apache.hadoop.hive.ql.metadata.HiveException:java.lang.RuntimeExcept
- http - 在 www.seloger.com 上使用 curl 两次时的临时重定向
- codenameone - CSS 定义的 FloatingActionButton 的背景颜色在其顶部添加了一个烦人的“连字符”
- .htaccess - 将 codeigniter 从一台服务器迁移到另一台服务器
- ios - 显示我已删除的 ViewController 的模拟器
- c# - 后退按钮导致当前页面回发。ASP.Net MVC
- ios - UINavigationBar 背景颜色不是设置为的确切 UIColor
- android - 等待动画完成并在单元测试中检查结果
- android - 在 Android Studio 中找不到局部变量调用
- python-3.x - 有没有办法从 python 管理 KDB 密钥库?