为了后续更进一步的研究探索,我们有必要先搞清楚虚幻4代码中的一些资源到底代表了什么。
UMaterial:持有逻辑线程相关的材质信息,作为逻辑线程的访问接口,管理其余两个渲染线程的类。
FMaterial:负责管理渲染资源的类,渲染资源主要是shadermap的编译等。
FMaterialRenderProxy:渲染代理,负责处理渲染的相关操作类。
这三个类再加上由FMaterial管理的FMaterialShaderMap及其子类共同完成了材质数据结构的表达。
RHI:虚幻4自己的一套机制,RHI是在渲染线程和逻辑线程之间的一个薄层,用于跨平台封装和从逻辑线程收集指令然后将指令扔给渲染线程。
RHIResource:最基础的RHI渲染资源。
像虚幻这种带什么什么ref的,就是个对应资源的指针类型或者智能指针类型