目录

RenderStage

Class Info

class RenderStage

渲染阶段基类,是渲染的一个阶段,收集渲染数据并执行渲染。

Public Constructor Summary

Constructor Name

RenderStage(RenderingPath* renderingPath)

构造函数。

Public Destructor Summary

Destructor Name

virtual ~RenderStage()

析构函数。

Public Method Summary

Qualifier and Type

Method Name and Description

virtual void

Initialize()

渲染阶段类相关资源的初始化。

virtual void

Uninitialize()

渲染阶段类的资源卸载。

virtual void

Update(const Camera* camera, f32 deltaTime)

渲染阶段类进行更新操作,在派生子类做具体实现。

virtual void

Render(const Camera* camera)

渲染函数,主要由派生子类来实现具体操作。

virtual void

Pause()

应用程序从前台切到后台时,完成渲染阶段相关资源的销毁,主要由派生子类来实现具体操作。

virtual void

Resume()

应用程序从后台切到前台时,完成渲染阶段相关资源的重建,主要由派生子类来实现具体操作。

virtual void

Resize(u32 width, u32 height)

输入宽高,重设一些跟渲染阶段相关数据的尺寸。

virtual void

BeginRenderPass()

执行渲染管线的绘制操作。

virtual void

BeginRenderPass(const FrameBuffer* frameBuffer)

传入帧缓存,执行渲染管线的绘制操作。

virtual void

EndRenderPass()

结束渲染管线的绘制操作。

virtual const std::vector<Texture*>&

GetGBuffer() const

获得所有纹理缓存数据,主要由派生子类来实现具体操作。

virtual const Texture*

GetGBuffer(u32 index) const

获得index对应的纹理缓存,主要由派生子类来实现具体操作。

virtual const Texture*

GetDepthStencilTexture() const

获得存储成深度模板的纹理,主要由派生子类来实现具体操作。

JobResource*

GetJobResource(u32 jobId) const

获得传入索引号对应的任务资源。

CommandBuffer*

GetCommandBuffer(u32 jobId) const

获得传入索引号对应的命令缓存。

void

Draw(MaterialInstance* materialInstance, const SubMesh* subMesh)

执行渲染阶段的绘制操作。

void

SetRenderPassInfo(const RenderPassCreateInfo& renderPassInfo)

设置渲染管线数据。

bool

CreateRenderPass()

渲染管线是否创建成功。

Public Constructors

[h2]RenderStage

Constructor

RenderStage(RenderingPath* renderingPath)

构造函数。

Parameters

Name

Description

renderingPath

当前渲染阶段对应的渲染路径。

Public Destructors

[h2]~RenderStage

Destructor

virtual ~RenderStage()

析构函数。

Public Methods

[h2]Initialize

Method

virtual void Initialize()

渲染阶段类相关资源的初始化。

[h2]Uninitialize

Method

virtual void Uninitialize()

渲染阶段类的资源卸载。

[h2]Update

Method

virtual void Update(const Camera* camera, f32 deltaTime)

渲染阶段类进行更新操作,在派生子类做具体实现。

Parameters

Name

Description

camera

渲染阶段对应的相机。

deltaTime

间隔时间,单位:秒。

[h2]Render

Method

virtual void Render(const Camera* camera)

渲染函数,主要由派生子类来实现具体操作。

Parameters

Name

Description

camera

执行渲染对应的相机。

[h2]Pause

Method

virtual void Pause()

应用程序从前台切到后台时,完成渲染阶段相关资源的销毁,主要由派生子类来实现具体操作。

[h2]Resume

Method

virtual void Resume()

应用程序从后台切到前台时,完成渲染阶段相关资源的重建,主要由派生子类来实现具体操作。

[h2]Resize

Method

virtual void Resize(u32 width, u32 height)

输入宽高,重设一些跟渲染阶段相关数据的尺寸。

Parameters

Name

Description

width

输入的宽度,单位:像素。

height

输入的高度,单位:像素。

[h2]BeginRenderPass

Method

virtual void BeginRenderPass()

执行渲染管线的绘制操作。

[h2]BeginRenderPass(const FrameBuffer* frameBuffer)

Method

virtual void BeginRenderPass(const FrameBuffer* frameBuffer)

传入帧缓存,执行渲染管线的绘制操作。

Parameters

Name

Description

frameBuffer

帧缓存对象。

[h2]EndRenderPass

Method

virtual void EndRenderPass()

结束渲染管线的绘制操作。

[h2]GetGBuffer

Method

virtual const std::vector<Texture*>& GetGBuffer() const

获得所有纹理缓存数据,主要由派生子类来实现具体操作。

Returns

Type

Description

const std::vector<Texture*>&

纹理指针变量的集合。

[h2]GetGBuffer(u32 index)

Method

virtual const Texture* GetGBuffer(u32 index) const

获得index对应的纹理缓存,主要由派生子类来实现具体操作。

Parameters

Name

Description

index

缓存纹理对应的索引号。

Returns

Type

Description

const Texture*

纹理指针变量。

[h2]GetDepthStencilTexture

Method

virtual const Texture* GetDepthStencilTexture() const

获得存储成深度模板的纹理,主要由派生子类来实现具体操作。

Returns

Type

Description

const Texture*

纹理指针变量。

[h2]GetJobResource

Method

JobResource* GetJobResource(u32 jobId) const

获得传入索引号对应的任务资源。

Parameters

Name

Description

jobId

任务资源对应的ID号。

Returns

Type

Description

JobResource*

任务资源变量指针。

[h2]GetCommandBuffer

Method

CommandBuffer* GetCommandBuffer(u32 jobId) const

获得传入索引号对应的命令缓存。

Parameters

Name

Description

jobId

命令缓存对应的ID号。

Returns

Type

Description

CommandBuffer*

命令缓存指针变量。

[h2]Draw

Method

void Draw(MaterialInstance* materialInstance, const SubMesh* subMesh)

执行渲染阶段的绘制操作。

Parameters

Name

Description

materialInstance

材质句柄对象。

subMesh

图元子网格对象。

[h2]SetRenderPassInfo

Method

void SetRenderPassInfo(const RenderPassCreateInfo& renderPassInfo)

设置渲染管线数据。

Parameters

Name

Description

renderPassInfo

渲染管线数据。

[h2]CreateRenderPass

Method

bool CreateRenderPass()

渲染管线是否创建成功。

Returns

Type

Description

bool

  • true:创建成功。
  • false:创建失败。