CustomMeshComponent Part1 VertexFactory
阅读目标
- 什么是 VertexFactory?VertexFactory 的作用?
- VertexFactory 如何创建不同的资源?在哪里?需要什么?用到了什么?
- 如何链接到 Shader?Shader 的编译?
几个需要提前知道的知识
RHI
RHI:Rendering Hardware Interface,是一层对底层图形 API 的抽象层。每个引擎有自己专门的一个对底层图形 API 调用的抽象封装,在 UE 里这一层叫做 RHI
目的是隐藏不同平台的不同图形 API 的调用差异,经过这一层的封装提供统一的调用接口
FRenderResource 和 FRHIResource
在 UE 的 rendering code 中有两个重要概念:FRenderResource 和 FRHIResource。
FRHIResource
:是 RHI 层资源的基类,它包含一个可渲染资源的相关数据,比如顶点 buffer,索引 buffer 等等
FRenderResource
:是定义了可渲染资源的通用行为模式的接口,存在于渲染模块,是我们能够直接交互和创建的资源。它提供创建和封装 FRHIResource
的功能,提供了初始化和释放 RHI 资源的方法
VertexFactory
什么是 Vertex Factory?它用来做什么?
VertexFactory 是存在于渲染线程的,用于传递顶点数据的一种 FRenderResource
,具体来说,它负责从一个 asset 上获取 MeshData,并用来创建 FRHIResource
一个最常见的 vertexfactory 为:LocalVertexFactory
VertexFactory 如何创建 RHI 资源?在哪里创建?
参考链接
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Fubuki の Donuts!