材质(Material)是 3D 渲染中的核心概念,它决定了物体表面的视觉效果。在 Galacean 引擎中,材质由三个核心部分组成:
着色器是运行在 GPU 上的程序,负责计算每个像素的最终颜色。Galacean 提供了强大的着色器语言,让你能够:
参考 Shader 介绍 了解 Shader 语法。
着色器数据包含了渲染所需的各种参数,如:
参考 内置变量文档 了解可用的内置变量。
渲染状态控制 GPU 如何处理几何体,包括:
参考 渲染状态 了解可配置的所有渲染状态。
如果你还不了解如何创建材质、使用材质,可以先前往 材质的基本使用 了解基础使用。
Galacean 提供了多种开箱即用的着色器:
着色器类型 | 适用场景 | 特点 |
---|---|---|
PBR | 真实感渲染 | 基于物理,遵循能量守恒 |
Unlit | 烘焙模型 | 不受光照影响,性能优秀 |
Blinn Phong | 经典光照 | 高效的传统光照模型 |
当内置着色器无法满足需求时,你可以创建自定义着色器:
// 创建材质
const material = new Material(engine, shader);
// 设置材质属性
material.shaderData.setColor("material_BaseColor", new Color(1, 0, 0, 1));
material.shaderData.setTexture("material_BaseTexture", texture);
想要快速上手?直接跳转到 自定义 Shader 实战教程 开始你的第一个自定义着色器!
更多实际案例请查看 在线示例。