目前 Galacean 引擎内置了许多常用的 Shader,诸如
类型 | 描述 |
---|---|
Unlit | Unlit Shader 适用于烘焙好的模型渲染,她只需要设置一张基本纹理或者颜色,即可展现离线渲染得到的高质量渲染结果,但是缺点是无法实时展现光影交互,因为 Unlit 由纹理决定渲染,不受任何光照影响,可参考 烘焙教程 和 导出 Unlit 教程 |
Blinn Phong | Blinn Phong Shader 适用于那些对真实感没有那么高要求的场景,虽然没有遵循物理,但是其高效的渲染算法和基本齐全的光学部分,可以适用很多的场景。 |
PBR | PBR Shader 适合需要真实感渲染的应用场景,因为 PBR 是基于物理的渲染,遵循能量守恒,开发者通过调整金属度、粗糙度、灯光等参数,能够保证渲染效果都是物理正确的。 |
可以在编辑器中直接调试内置着色器的对应属性观察实时渲染效果变化。
与之对应的,也可以通过设置 PBRMaterial , BlinnPhongMaterial 与 UnlitMaterial 材质的 API 达到相同效果。
参数 | 应用 |
---|---|
isTransparent | 是否透明。可以设置材质是否透明。如果设置为透明,可以通过 BlendMode 来设置颜色混合模式。 |
alphaCutoff | 透明度裁剪值。可以设置裁剪值,在着色器中,透明度小于此数值的片元将会被裁减,参考 案例 |
renderFace | 渲染面。可以决定渲染正面、背面、双面。 |
blendMode | 颜色混合模式。当设置材质为透明后,可以设置此枚举来决定颜色混合模式,参考 案例 |
tilingOffset | 纹理坐标的缩放与偏移。是一个 Vector4 数据,分别控制纹理坐标在 uv 方向上的缩放和偏移,参考 案例 |