渲染 (Rendering)¶
使用渲染通道来定义 Kanzi 应用程序中 3D 内容的渲染。
例如,在渲染过程 (render passes) 中,您可以定义:
哪个 Camera 及其后代用于渲染。请参阅 为渲染通道设置相机。
渲染通道渲染的节点。请参阅 收集节点以进行渲染。。
使用哪些灯光来照亮内容。请参阅 使用灯光在渲染中。
使用什么材质来渲染内容。设置用于渲染的材质。
合成目标的格式。请参阅 将内容渲染到合成目标。
后期处理效果。创建后期处理效果。
在渲染传递预设中,您可以创建渲染传递的层次结构以实现特定的渲染结果。
在 Library > Rendering > Render Pass Prefabs 中,每个顶级渲染通道是渲染通道预设的根。
Kanzi 在 Library 中按它们在渲染通道预设中的出现顺序从上到下执行每个渲染通道预设中的渲染通道。每个渲染通道应用其设置并渲染其子节点。请参阅 使用渲染通道。
例如,Default Render Pass 是 Kanzi Studio 附带的渲染通道预设之一,它创建了一组基本的渲染通道,首先渲染不透明节点,然后渲染透明节点。请参阅 使用 Default Render Pass。
渲染通道 (Render Passes)¶
这些渲染通道在 Kanzi 中可用:
Blit Render Pass¶
Blit Render Pass 使用一种特定材质将一个或多个单一纹理或立方体贴图纹理位块传送到屏幕。
请参阅 将内容渲染到合成目标、渲染多个渲染通道或纹理 和 创建后期处理效果。
Clear Render Pass¶
Clear Render Pass 清除当前渲染背景的若干或所有缓冲区。
您可以设置 Kanzi 清除颜色、深度和模板缓冲区的值。
Composition Target Render Pass¶
Composition Target Render Pass 将自身及其后代渲染通道渲染到一个或多个合成目标。
请参阅 将内容渲染到合成目标。
Cubemap Render Pass¶
Cubemap Render Pass 将自身及其子渲染通道渲染到活动合成目标,例如 Cubemap Render Target Texture 和 Cubemap Render Pass 的 Result Texture。
请参阅 创建立方体贴图反射。
Draw Objects Render Pass¶
Draw Objects Render Pass 允许您设置一个 Camera 节点,以使用特定的光节点渲染特定的节点列表。
Draw Objects Render Pass:
默认情况下,使用默认的 Camera 节点来渲染 Scene 节点中的所有节点,或由其最近的祖先 Node List Render Pass 传递给它的节点。请参阅 为渲染通道设置相机 和 收集节点以进行渲染。。
默认情况下,使用其最近的祖先 Gather Lights Render Pass 提供的光节点渲染节点。请参阅 使用灯光在渲染中。
使用您在其最近的上级 Pipeline State Render Pass 中设置的渲染参数。
允许您控制视锥体裁剪。请参阅 控制视锥体剔除。
Draw Objects With Material Render Pass¶
Draw Objects With Material Render Pass 的工作方式类似于 Draw Objects Render Pass,但允许您设置其用于渲染内容的材质。请参阅 设置用于渲染的材质。
Dynamic Batching Render Pass¶
Dynamic Batching Render Pass 的工作方式与 Draw Objects Render Pass 类似,但会批量渲染兼容的网格,以减少绘制调用的次数。
请参阅 使用动态批处理。
Dynamic Batching UBO Render Pass¶
Dynamic Batching UBO Render Pass 使用动态批处理渲染兼容的网格,并将批次数据存储在 uniform 缓冲区对象中。
请参阅 使用动态批处理。
Dynamic Batching With Material Render Pass¶
Dynamic Batching With Material Render Pass 的工作方式与 Draw Objects With Material Render Pass 类似,但会使用动态批处理渲染兼容的网格。
请参阅 使用动态批处理。
Dynamic Batching UBO With Material Render Pass¶
Dynamic Batching UBO With Material Render Pass 是 Dynamic Batching With Material Render Pass 的 UBO 变体。
请参阅 使用动态批处理。
Gather Lights Render Pass¶
Gather Lights Render Pass 允许您从节点列表中收集用于照亮场景中3D节点的光节点。
请参阅 使用灯光在渲染中。
Group Render Pass¶
Group Render Pass 允许您收集渲染通道,以便您可以在 Viewport 2D 节点中引用单个渲染通道预设。
如果您的最上层渲染通道可以将所有其他渲染通道作为其子通道,则不需要 Group Render Pass。
Material Setup Render Pass¶
Material Setup Render Pass 允许您为材质设置属性,以便所有后续使用该材质的渲染都使用您在此渲染通道中设置的属性值。
请参阅 设置用于渲染的材质。
Node List Render Pass¶
Node List Render Pass 允许您过滤并保存要使用其他渲染通道渲染的节点列表。
请参阅 收集节点以进行渲染。。
Dynamic Batching Node List Render Pass¶
Dynamic Batching Node List Render Pass 的工作方式与 Node List Render Pass 类似,用于收集要进行动态批处理的网格。
请参阅 使用动态批处理。
Pipeline State Render Pass¶
Pipeline State Render Pass 允许您为其子渲染通道设置深度和模板测试、透明度和剔除。此渲染通道在将控制权传递给其后代之前设置渲染状态。在 Pipeline State Render Pass 的后代渲染通道执行后,Kanzi 恢复渲染状态。请参阅 设置剔除模式、将模板应用于 3D 内容 和 渲染贴花。
Compose and Blit Pass¶
Compose and Blit Pass 包含渲染通道结构,使您能够使用特定材质将 Composition Target Render Pass 渲染通道或纹理传输到屏幕。
请参阅 将内容渲染到合成目标。
Default Render Pass¶
Default Render Pass 包含一组基本的渲染通道,首先渲染不透明节点,然后渲染透明节点。
使用 Default Render Pass 作为渲染通道树的起点。请参阅 使用 Default Render Pass。
Render to Texture Pass¶
Render to Texture Pass 创建渲染到纹理所需的渲染通道和纹理。
请参阅 渲染到纹理。
Image-Based Lighting Filter Pass¶
Image-Based Lighting Filter Pass 包含一组渲染通道,可用于为实时基于图像的照明创建动态 Environment Ambient Texture 和 Environment Reflection Texture 立方体贴图纹理。请参阅 为动态基于图像的照明渲染立方体贴图。