着色器资源
引擎会在 资源管理器 中创建一个默认名为 effect 的着色器资源:
在 属性检查器 中可以看到着色器主要由以下几部分组成:
如果当前的着色器有多个渲染过程,则可以通过 Shaders 右边的下拉框来选择不同的渲染过程。选择渲染过程后,可以通过 GLSL Output 窗口查看当前编译后的着色器代码。
表示会在初始化时预编译 4 个组合的着色器:
USE_INSTANCING = 0, USE_BATCHING = 0
USE_INSTANCING = 0, USE_BATCHING = 1
USE_INSTANCING = 1, USE_BATCHING = 0
USE_INSTANCING = 1, USE_BATCHING = 1
通过选择不同的标签页可切换显示编译后的顶点着色器和片元着色器:
当你需要在脚本中使用着色器时,需要在 属性检查器 面板中着色器的 Shaders 属性里找到相应着色器,然后通过其唯一字符串名称来加载使用。
以上图中的自定义着色器为例,代码示例如下:
const effect = EffectAsset.get('builtin-standard');
const mat = new Material();
// 使用内置基于物理的光照着色器(PBR)‘builtin-standard.effect’ 初始化材质