material - 超腾开源标签

本文从底层着色器原理出发,手动实现了Three.js中四种常用材质:基本材质不受光照影响直接显示纹理;兰伯特材质仅计算漫反射,适合粗糙表面;冯氏材质增加高光反射,表现光滑表面;标准材质基于物理渲染,通过金属度和粗糙度模拟真实材质。每种材质均附有顶点和片元着色器代码,并假设场景仅含环境光和平行光及一张漫反射贴图。文章还对比了各材质的特点与适用场景,并提供了BRDF、光照模型等参考资料。
363
2024-06-21