渲染

使用渲染通道来定义 Kanzi 应用程序中节点的渲染。例如,在渲染通道中,您可以定义渲染通道用于渲染的摄像机 (Camera)、它渲染的节点以及颜色和深度缓冲使用的设置。您可以使用多个渲染通道应用后处理效果。

您可以选择并优化发送给渲染通道用过滤器和对象源进行渲染的节点集合。这样您可以精确定义 Kanzi 应用程序中渲染内容的顺序。请参阅过滤器使用对象源

渲染通道

每个场景 (Scene) 节点中都有确定 Kanzi 使用哪个渲染通道渲染场景 (Scene) 节点的渲染通道 (Render Pass) 属性。在创建场景 (Scene) 节点时,节点使用DefaultRenderPass 来渲染其内容。

通过创建渲染通道、设置渲染通道的层级和顺序以及设置渲染通道中的各种属性,您可以定义您希望 Kanzi 以何种方式渲染您的应用程序中的节点。Kanzi 按照渲染通道在素材库 (Library) > 渲染 (Rendering) > 渲染通道 (Render Passes) 中出现的顺序从上自下执行渲染通道。每个渲染通道应用其设置并渲染子级。

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

Kanzi 中提供以下这些渲染通道:

位块传送渲染通道 (Blit Render Pass)

位块传送渲染通道 (Blit Render Pass) 使用某种特定材质在屏幕上位块传送一个或多个渲染通道或纹理。请参阅渲染多个渲染通道或纹理

清除渲染通道 (Clear Render Pass)

清除渲染通道 (Clear Render Pass) 清除当前渲染上下文的部分或全部缓冲。您可以设置 Kanzi 清除颜色、深度和模具缓冲区的值。

合成目标渲染通道 (Composition Target Render Pass)

合成目标渲染通道 (Composition Target Render Pass) 将自身及其子渲染通道渲染成合成目标。请参阅将内容渲染成合成目标

Compose and Blit Pass

 
Compose and Blit Pass template contains the render pass structure that enables you to blit to the screen 合成目标渲染通道 (Composition Target Render Pass) render passes or textures using a specific material. 请参阅将内容渲染成合成目标.

默认渲染通道 (Default Render Pass)

默认渲染通道 (Default Render Pass) 创建一组基本的渲染通道,先渲染不透明节点,然后再渲染透明节点。使用默认渲染通道 (Default Render Pass) 作为渲染通道树的起点。请参阅使用默认渲染通道 (Default Render Pass)

绘图对象渲染通道 (Draw Objects Render Pass)

绘图对象渲染通道 (Draw Objects Render Pass) 允许您设置摄像机 (Camera) 节点来渲染特定对象源并控制视锥体剔除。默认情况下,绘图对象渲染通道 (Draw Objects Render Pass) 使用默认摄像机 (Camera) 节点来渲染场景 (Scene) 节点中的所有节点。在父 管道状态渲染通道 (Pipeline State Render Pass) 中设置 绘图对象渲染通道 (Draw Objects Render Pass) 的所有渲染参数。请参阅使用对象源过滤器控制视锥体剔除

用材质渲染通道绘制对象 (Draw Objects With Material Render Pass)

用材质渲染通道绘制对象 (Draw Objects With Material Render Pass)绘图对象渲染通道 (Draw Objects Render Pass) 一样工作,但允许您设置用于渲染内容的材质。请参阅设置渲染材质

组渲染通道 (Group Render Pass)

组渲染通道 (Group Render Pass) 允许您收集渲染通道,以便您可以在 场景 (Scene)2D 视口 (Viewport 2D) 节点中引用单个渲染通道。
如果最顶层的渲染通道可以将所有其他渲染通道作为子项,则不需要 组渲染通道 (Group Render Pass)

材质设置渲染通道 (Material Setup Render Pass)

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

管道状态渲染通道 (Pipeline State Render Pass)

管道状态渲染通道 (Pipeline State Render Pass) 允许您设置其子渲染通道深度和模具测试、透明度以及剔除。此渲染通道在将控件传递至其子孙节点之前设置渲染状态。在管道状态渲染通道 (Pipeline State Render Pass) 子孙渲染通道执行后,Kanzi 恢复渲染状态。请参阅设置剔除模式应用模具应用至 3D 内容

渲染到纹理通道 (Render to Texture Pass)

渲染到纹理通道 (Render to Texture Pass) 会创建您渲染到纹理时所需的渲染通道和纹理。请参阅渲染到纹理

后处理效果

使用多个渲染通道应用后处理效果。

要应用后处理效果:

  1. 创建能支持您要应用的后处理效果的材质。
  2. 创建渲染通道的层次结构,以创建您要应用的后处理效果。

要获得有关如何应用后处理效果的示例,请参阅教程:创建高斯模糊效果教程:创建全屏泛光效果

另请参阅

渲染最佳实践

使用 Kanzi Studio 渲染通道模板

渲染多个渲染通道或纹理

将内容渲染成合成目标

设置渲染材质

使用对象源

过滤器

设置剔除

教程:创建高斯模糊效果

教程:应用模具至 3D 内容