渲染目标
渲染目标(Render Target)是渲染管线的输出终点。它被抽象为承载绘制结果的容器 —— 无论是用于中间处理的离屏纹理,还是最终呈现给玩家的屏幕画面,本质上都是渲染目标的一种形态。
使用 regRT 函数,可以帮助我们快速创建一个相机(并返回一个句柄)。
export const screen = regRT("screen", r => {});regRT 接受两个参数。
regRT( "screen",
r => { } //(可选));screen是渲染目标的名称,可以任意指定(但不能与其他渲染目标重名)。- 第二个参数则是渲染目标的配置函数,可以在这里指定渲染目标的属性。
我们只需要修改r => { ... }内部的内容;这里的r是一个构建器,可以任意指定其名称。
regRT 函数会返回一个渲染目标句柄,可以通过这个句柄来引用这个渲染目标。
export const screen = regRT("screen");screen是一个渲染目标句柄,其名称可以任意指定(但不能与其他句柄重复)。export const表示screen是一个全局变量,可以在其他文件中引用。
regRT 的第二个参数(可选)是一个配置函数,可以在这里指定渲染目标的属性。
width 和 height 属性用于指定渲染目标的空间尺寸。
r => { r.width = 1920; r.height = 1080;};- 对于
screen而言,可以修改为你期望的游戏视口大小。 - 对于其他用作离屏渲染的渲染目标,可以修改为你期望的渲染尺寸。
默认值为 1920 与 1080。
samples 采样数量(通常为 0, 2, 4, 8)。
- 默认为
0,不开启 MSAA(多重采样抗锯齿)。 - 如果使用了复杂的 3D 图形,可以设置为
4或8来降低锯齿感。
r => { r.samples = 0;};在默认项目下,ShxNovel 会自动注册一个名为 screen 的渲染目标,并作为默认输出。
对于简单的 VN 应用来说,可能并不需要额外的渲染目标,这个章节的主要功能是帮助创作者了解渲染目标的用途,并了解 ShxNovel 注册场景(以及其他对象)的基本语法。
但如果您需要更复杂的演出,请在未来参考 渲染管线,在其中利用场景来构建更复杂的演出。
多重渲染目标 MRT
Section titled “多重渲染目标 MRT”@TODO