目录

PassNode

Class Info

class PassNode

渲染操作节点类。对应FrameGraph中有向无环图中的一个渲染节点。

Public Constructor Summary

Constructor Name

PassNode(FrameGraph& fg, const char* const name, IPassExecuter& executer, GraphicsRenderer* graphicsRenderer)

构造函数。

Public Destructor Summary

Destructor Name

virtual~PassNode()

析构函数。

Public Method Summary

Qualifier and Type

Method Name and Description

virtual void

Begin(CommandBuffer* commandBuffer) = 0

设置RenderPass和FrameBuffer,开始新的渲染通道。

virtual void

Execute() = 0

执行该Pass对应的回调,记录CommandBuffer命令。

virtual void

End() = 0

销毁RenderPass和FrameBuffer,结束渲染通道。

virtual PassType

GetPassType() const = 0

获取该PassNode的类型,目前只支持GRAPHICS_PASS。

const char*

GetName() const

获取该PassNode的名称。

void

Resolve()

更新写资源和读资源的生命周期。

void

AddReadResource(Handle h)

添加读资源节点,指定需要读取的资源。

void

AddWriteResource(Handle h)

添加写资源节点,指定需要写入的资源。

void

AddRealizeResource(VirtualResourceBase* v)

添加RealizeResource,指定本Pass节点执行前需要初始化的资源。

void

AddDestroyResource(VirtualResourceBase* v)

添加DestroyResource,指定本Pass节点执行后需要销毁的资源。

void

RealizeResources()

初始化资源。

void

DestroyResources()

销毁资源。

const CommandBuffer*

GetCommandBuffer() const

获取CommandBuffer。

Public Constructors

[h2]PassNode

Constructor

GraphicsRenderer PassNode(FrameGraph& fg, const char* const name, IPassExecuter& executer, GraphicsRenderer* graphicsRenderer)

构造函数。

Parameters

Name

Description

fg

可扩展渲染通道。

name

PassNode名称。

executer

执行器。

graphicsRenderer

图形渲染器。

Public Destructors

[h2]~PassNode

Destructor

virtual ~PassNode()

析构函数。

Public Methods

[h2]Begin

Method

virtual void Begin(CommandBuffer* commandBuffer) = 0

设置RenderPass和FrameBuffer,开始新的渲染通道。

Parameters

Name

Description

commandBuffer

命令缓存。

[h2]Execute

Method

virtual void Execute() = 0

执行该Pass对应的回调,记录CommandBuffer命令。

[h2]End

Method

virtual void End() = 0

销毁RenderPass和FrameBuffer,结束渲染通道。

[h2]GetPassType

Method

virtual PassType GetPassType() const = 0

获取该PassNode的类型,目前只支持GRAPHICS_PASS。

Returns

Type

Description

PassType

Pass类型。

[h2]GetName

Method

const char* GetName() const

获取该PassNode的名称。

Returns

Type

Description

const char*

PassNode的名称。

[h2]Resolve

Method

void Resolve()

更新写资源和读资源的生命周期。

[h2]AddReadResource

Method

void AddReadResource(Handle h)

添加ReadResource。

Parameters

Name

Description

h

资源Handle。

[h2]AddWriteResource

Method

void AddWriteResource(Handle h)

添加WriteResource。

Parameters

Name

Description

h

资源Handle。

[h2]AddRealizeResource

Method

void AddRealizeResource(VirtualResourceBase* v)

添加RealizeResource。

Parameters

Name

Description

v

虚拟资源。

[h2]AddDestroyResource

Method

void AddDestroyResource(VirtualResourceBase* v)

添加DestroyResource。

Parameters

Name

Description

v

虚拟资源。

[h2]RealizeResources

Method

void RealizeResources()

实现资源。

[h2]DestroyResources

Method

void DestroyResources()

销毁资源。

[h2]GetCommandBuffer

Method

const CommandBuffer* GetCommandBuffer() const

获取CommandBuffer,用于录制渲染命令。

Returns

Type

Description

const CommandBuffer*

渲染命令缓冲。