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);
|
||
}
|
||
``` |