渲染 (Rendering)

使用渲染通道来定义 Kanzi 应用程序中 3D 内容的渲染。

例如,在渲染过程 (render passes) 中,您可以定义:

在渲染传递预设中,您可以创建渲染传递的层次结构以实现特定的渲染结果。

在 Library > Rendering > Render Pass Prefabs 中,每个顶级渲染通道是渲染通道预设的根。

Kanzi 在 Library 中按它们在渲染通道预设中的出现顺序从上到下执行每个渲染通道预设中的渲染通道。每个渲染通道应用其设置并渲染其子节点。请参阅 使用渲染通道。

例如,Default Render Pass 是 Kanzi Studio 附带的渲染通道预设之一,它创建了一组基本的渲染通道,首先渲染不透明节点,然后渲染透明节点。请参阅 使用 Default Render Pass。

../../_images/rendering.svg

渲染通道 (Render Passes)

这些渲染通道在 Kanzi 中可用:

Blit Render Pass

Blit Render Pass 使用一种特定材质将一个或多个单一纹理或立方体贴图纹理位块传送到屏幕。

请参阅 将内容渲染到合成目标、渲染多个渲染通道或纹理 和 创建后期处理效果。

../../_images/blit-render-pass.svg

Clear Render Pass

Clear Render Pass 清除当前渲染背景的若干或所有缓冲区。

您可以设置 Kanzi 清除颜色、深度和模板缓冲区的值。

../../_images/clear-render-pass.svg

Composition Target Render Pass

Composition Target Render Pass 将自身及其后代渲染通道渲染到一个或多个合成目标。

请参阅 将内容渲染到合成目标。

../../_images/composition-target-render-pass.svg

Cubemap Render Pass

Cubemap Render Pass 将自身及其子渲染通道渲染到活动合成目标,例如 Cubemap Render Target Texture 和 Cubemap Render Pass 的 Result Texture。

请参阅 创建立方体贴图反射。

../../_images/cubemap-render-pass.svg

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 中设置的渲染参数。

  • 允许您控制视锥体裁剪。请参阅 控制视锥体剔除。

../../_images/draw-objects-render-pass.svg

Draw Objects With Material Render Pass

Draw Objects With Material Render Pass 的工作方式类似于 Draw Objects Render Pass,但允许您设置其用于渲染内容的材质。请参阅 设置用于渲染的材质。

../../_images/draw-objects-with-material-render-pass.svg

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节点的光节点。

请参阅 使用灯光在渲染中。

../../_images/gather-lights-render-pass1.svg

Group Render Pass

Group Render Pass 允许您收集渲染通道,以便您可以在 Viewport 2D 节点中引用单个渲染通道预设。

如果您的最上层渲染通道可以将所有其他渲染通道作为其子通道,则不需要 Group Render Pass。

../../_images/group-render-pass.svg

Material Setup Render Pass

Material Setup Render Pass 允许您为材质设置属性,以便所有后续使用该材质的渲染都使用您在此渲染通道中设置的属性值。

请参阅 设置用于渲染的材质。

../../_images/material-setup-render-pass.svg

Node List Render Pass

Node List Render Pass 允许您过滤并保存要使用其他渲染通道渲染的节点列表。

请参阅 收集节点以进行渲染。。

../../_images/node-list-render-pass1.svg

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 内容 和 渲染贴花。

../../_images/pipeline-state-render-pass.svg

Compose and Blit Pass

Compose and Blit Pass 包含渲染通道结构,使您能够使用特定材质将 Composition Target Render Pass 渲染通道或纹理传输到屏幕。

请参阅 将内容渲染到合成目标。

../../_images/compose-and-blit-pass.svg

Default Render Pass

Default Render Pass 包含一组基本的渲染通道,首先渲染不透明节点,然后渲染透明节点。

使用 Default Render Pass 作为渲染通道树的起点。请参阅 使用 Default Render Pass。

../../_images/default-render-pass.svg

Render to Texture Pass

Render to Texture Pass 创建渲染到纹理所需的渲染通道和纹理。

请参阅 渲染到纹理。

../../_images/render-to-texture-pass.svg

Image-Based Lighting Filter Pass

Image-Based Lighting Filter Pass 包含一组渲染通道,可用于为实时基于图像的照明创建动态 Environment Ambient Texture 和 Environment Reflection Texture 立方体贴图纹理。请参阅 为动态基于图像的照明渲染立方体贴图。

../../_images/render-passes-image-based-lighting.svg

另请参阅

渲染最佳实践

使用渲染通道

使用动态批处理

使用 Kanzi Studio 渲染通道预设

使用灯光在渲染中

收集节点以进行渲染。

渲染多个渲染通道或纹理

将内容渲染到合成目标

设置用于渲染的材质

创建后期处理效果

创建立方体贴图反射

使用对象源

过滤器 (Filters)

设置剔除

教程:创建一个 bloom 效果

教程:将模板应用于 3D 内容

教程:创建反射