35 lines
1.2 KiB
Markdown
35 lines
1.2 KiB
Markdown
|
---
|
|||
|
title: Untitled
|
|||
|
date: 2024-08-15 12:02:42
|
|||
|
excerpt:
|
|||
|
tags:
|
|||
|
rating: ⭐
|
|||
|
---
|
|||
|
# 前言
|
|||
|
- [UE5渲染--GPUScene与合并绘制](https://zhuanlan.zhihu.com/p/614758211)
|
|||
|
|
|||
|
# 相关类型
|
|||
|
- Primitive:
|
|||
|
- C++的数据类型_FPrimitiveUniformShaderParameters_(PrimitiveUniformShaderParameters.h)
|
|||
|
- Shader的数据FPrimitiveSceneData(SceneData.ush);
|
|||
|
- Instance:
|
|||
|
- C++的数据类型FInstanceSceneShaderData(InstanceUniformShaderParameters.h)
|
|||
|
- Shader的数据FInstanceSceneData(SceneData.ush);
|
|||
|
- Payload:
|
|||
|
- C++数据类型FPackedBatch、FPackedItem(InstanceCullingLoadBalancer.h)
|
|||
|
- Shader的数据类型FPackedInstanceBatch、FPackedInstanceBatchItem(InstanceCullingLoadBalancer.ush)
|
|||
|
|
|||
|
# DeferredShadingRenderer.cpp
|
|||
|
```c++
|
|||
|
Scene->GPUScene.Update(GraphBuilder, GetSceneUniforms(), *Scene, ExternalAccessQueue);
|
|||
|
|
|||
|
for (int32 ViewIndex = 0; ViewIndex < Views.Num(); ViewIndex++)
|
|||
|
{
|
|||
|
FViewInfo& View = Views[ViewIndex];
|
|||
|
RDG_GPU_MASK_SCOPE(GraphBuilder, View.GPUMask);
|
|||
|
|
|||
|
Scene->GPUScene.UploadDynamicPrimitiveShaderDataForView(GraphBuilder, *Scene, View, ExternalAccessQueue);
|
|||
|
|
|||
|
Scene->GPUScene.DebugRender(GraphBuilder, *Scene, GetSceneUniforms(), View);
|
|||
|
}
|
|||
|
```
|