渲染 (Rendering)

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

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

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

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

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

例如,Default 渲染通道是随 Kanzi Studio 提供的其中一个渲染通道预设,会创建一组基本的渲染通道,先渲染不透明节点,然后再渲染透明节点。请参阅 使用 Default 渲染通道。

../../_images/rendering.svg

渲染通道 (Render Passes)

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

Blit 渲染通道

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

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

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

Clear 渲染通道

Clear 渲染通道清除当前渲染上下文的部分或全部缓冲区。

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

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

Composition Target 渲染通道

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

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

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

Cubemap 渲染通道

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

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

../../_images/cubemap-render-pass.svg../../_images/preview-cubemap-reflections.gif

Draw Objects 渲染通道

Draw Objects 渲染通道允许您设置 Camera 节点,以使用特定的光源节点渲染特定的节点列表。

Draw Objects 渲染通道:

  • 默认情况下使用默认的 Camera 节点渲染 Scene 节点中的所有节点,或由其最近的祖先 Node List 渲染通道传递给它的节点。请参阅 为渲染通道设置相机 和 收集节点以进行渲染。。

  • 默认情况下使用其最近的祖先 Gather Lights 渲染通道提供的光源节点来渲染节点。请参阅 使用灯光在渲染中。

  • 使用您在其最近的祖先 Pipeline State 渲染通道中设置的渲染参数。

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

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

Draw Objects With Material 渲染通道

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

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

Gather Lights 渲染通道

Gather Lights 渲染通道允许您从节点列表中收集光源节点,以便在场景中为 3D 节点照明。

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

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

Group 渲染通道

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

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

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

Material Setup 渲染通道

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

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

../../_images/material-setup-render-pass.svg../../_images/preview-infinity-mirror-completed.png

Node List 渲染通道

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

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

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

Pipeline State 渲染通道

Pipeline State 渲染通道允许您为其子渲染通道设置深度和模具测试、透明度以及剔除。此渲染通道在将控制权传递给其后代之前设置渲染状态。在 Pipeline State 渲染通道的后代渲染通道执行之后,Kanzi 会恢复渲染状态。请参阅 设置剔除模式、将模板应用于 3D 内容 和 渲染贴花。

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

渲染通道预设

Compose and Blit Pass

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

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

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

Default 渲染通道

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

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

../../_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../../_images/rendering-cubemaps-dynamic-ibl.gif

另请参阅

渲染最佳实践

使用渲染通道

使用 Kanzi Studio 渲染通道预设

使用灯光在渲染中

收集节点以进行渲染。

渲染多个渲染通道或纹理

将内容渲染到合成目标

设置用于渲染的材质

创建后期处理效果

创建立方体贴图反射

使用对象源

过滤器 (Filters)

设置剔除

教程:创建一个 bloom 效果

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

教程:创建反射

Kanzi graphics