javascript - Three.js 中 Material 的漫反射贴图和颜色之间的相关性

标签 javascript three.js rendering

在以下 Material 中:

var mat = new THREE.MeshLambertMaterial({'color': ..., 'map': ...});

在将颜色设置为 map 的平均像素值与将颜色设置为白色与将其设置为黑色的情况下,颜色如何影响渲染结果。

文档说,如果为 Material 设置了.map,则 Material 的颜色会“调制”漫反射贴图。这里的调制究竟意味着什么?

最佳答案

这可以在 standard three.js shaders 的源代码中找到。在 meshlambert_frag.glsl有行 #include <map_fragment>#include <color_fragment> 。这些ShaderChunk include 在 webgl 程序编译时进行处理。

map_fragment.glslcolor_fragment.glsl我可以看到,diffuseColor乘以color应用 map 颜色后。

此外,浏览器的着色器编辑器扩展可用于查找在 webgl 中运行的着色器的源代码。

关于javascript - Three.js 中 Material 的漫反射贴图和颜色之间的相关性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40419642/

相关文章:

javascript - 使用加载器时扩展 Ractive 组件

javascript - Javascript 和/或 jQuery 可以通过这种方式返回对象吗?

javascript - 始终通过计算 A-Frame 中对象的边界框来获得 Infinity

node.js - NodeJS,如何使用 Express 4 呈现静态 HTML?

graphics - PBR菲涅尔效应

javascript - 如何使用 JavaScript 模拟 x86 无符号 32 位整数乘法?

javascript - 使用 track by 时强制拼接 ng-repeat 数组

javascript - 三个js阴影

javascript - 当我知道所有异步调用都已完成时,如何运行回调?

ember.js - Ember 在转换后不渲染