@author:白袍小道

 
 

引言

本文只在对Unreal渲染模块做一些详细的理解,务求能分析出个大概。

其中框架的思想和实现的过程,是非常值得学习和推敲一二的。

涉及资源系统,材质系统,场景系统,渲染系统

 
 

通常渲染模块组成:

  • 场景的描述
    • FScene
    • FPrimitiveSceneProxy
    • FPrimitiveSceneInfo
    • FMaterial
    • FMaterialResoruce
    • FMaterialRenderProxy

     
     

  • 场景遍历和拣选
    • 分类处理(得到静态列表,动态列表
    • 可见性搞定

 
 

  • 渲染的执行
    • 一个是源码,一个RenderDOC,配合DX文档梳理
    • 多个Pass阶段

     
     

    渲染模块层次划分:

  • 核心代码模块 
    • RenderCore
    • Renderer

       
       

  • RHI 抽象层 
    • RHI(Render Hardware Interface)
    • D3D分层分装

       
       

  • RHI 实现层,API封装: 
    • EmptyRHI
    • Windows 上 D3D11RHI
    • Metal、VulkanRHI、OpenGLdRV

 
 

--------------------------------------------------------------------------------------------------------------------------------------------------

乱入说明

--------------------------------------------------------------------------------------------------------------------------------------------------

基本图:包含了引擎到渲染模块涉及到的类,层次。

1、UnrealEngine、UEditorEngine, EngineLoop

2、UGameViewoirtClient为一个入口点,接着进入到RenderModule

3、渲染线程

【可以先查阅Core下的Thread,异步等处理方法和封装,然后再到渲染。基本就记得提交渲染命令,然后巴拉巴拉,然后就到RenderFam,,,,,.这里作为随笔,后面正式的分类,和说明会放在渲染模块中】

 
 

渲染部分

 
 

 
 

 
 

渲染实例化部分

 
 

接入到渲染中间操作部分

 
 

 
 

 
 

Unreal接入底层操作部分

Unreal RHI模块,对应平台的渲染模块

DX渲染管线

 
 

 
 

 
 

(原)Unreal 渲染模块引言Temp的更多相关文章

  1. (原)Unreal 渲染模块 渲染流程

    @author:白袍小道 浏览分享随缘,评论不喷亦可.     扯淡部分: 在temp中,乱七八糟的说了下大致的UE过程.下面我们还是稍微别那么任性,一步步来吧.     UE渲染模块牵扯到场景遍历. ...

  2. (原)Unreal渲染模块 管线 - 着色器(1)

    @author: 白袍小道 转载悄悄说明下 随缘查看,施主开心就好 说明: 本篇继续Unreal搬山部分的渲染模块的Shader部分, 主要牵扯模块RenderCore, ShaderCore, RH ...

  3. (原)Unreal渲染模块 管线 - 程序和场景查询

    @author: 白袍小道 查看随意,转载随缘     第一部分: 这里主要关心加速算法,和该阶段相关的UE模块的结构和组件的处理. What-HOW-Why-HOW-What(嘿嘿,老规矩) 1.渲 ...

  4. (原)Unreal渲染模块 源码和实例分析说明

    @author:白袍小道 说明 1.由于小道就三境武夫而已,而UE渲染部分不仅管理挺大,而且牵扯技术和内容驳杂,所以才有这篇梳理. 2.尽量会按书籍和资料,源码,小模块的调试和搬山(就是敲键盘)..等 ...

  5. (原) Unreal搬山-引言(图多慎)

    @author:白袍小道 扯淡:(图多) 何为搬山,这里借了剑来少年郎一句.(若有同道中人,甚是开心,开心的很) 江湖岂能没前辈) (江湖很大,足够你浪) (刺客信条 \荒野 \神秘海域 \死亡空间 ...

  6. (整)Unreal渲染模块 框总览

    @author: 黑袍小道 随缘查看     说明 由于搬山的渲染这部分担心自己理解错误,故而搬移官方下,后面整个完成再反过来更新 (这当且仅当做Unreal的帮助文档).     图形编程 模块 渲 ...

  7. (原)Unreal Shader模块(一): 着色创建

    一.着色加载 这里说的Shader是编译后的文件或内存     源码说明 --------------------------------------------------------------- ...

  8. Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基础文件配置,Web框架的本质,服务器程序和应用程序(wsgiref服务端模块,jinja2模板渲染模块)的使用

    Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基 ...

  9. DRF框架(一)——restful接口规范、基于规范下使用原生django接口查询和增加、原生Django CBV请求生命周期源码分析、drf请求生命周期源码分析、请求模块request、渲染模块render

    DRF框架    全称:django-rest framework 知识点 1.接口:什么是接口.restful接口规范 2.CBV生命周期源码 - 基于restful规范下的CBV接口 3.请求组件 ...

随机推荐

  1. Uva 12299 带循环移动的RMQ(线段树)

    题目链接:https://vjudge.net/contest/147973#problem/C 题意:传统的RMQ是一个不变的数组a求区间最值.现在要循环移动(往前移动). 分析:求区间问题,很容易 ...

  2. JS显示上一周

    <html> <head> <script> var currDT; var aryDay = new Array("日","一&qu ...

  3. 通过WEB网管登录

    6.1  通过WEB网管登录简介 S5100-SI/EI系列以太网交换机提供内置的WEB Server,用户可以通过WEB网管终端(PC)登录到交换机上,利用内置的WEB Server以WEB方式直观 ...

  4. git常用命令图解

  5. innerHTML动态添加标签的注意事项

    在使用javascript动态添加页面上元素时,我们经常会使用DOM去逐个地将节点添加到文档碎片中,再将整个文档节点添加到DOM树中.其实还有一种方法动态添加元素:innerHTML. 我最近要将一大 ...

  6. 改Chrome的User Agent,移动版网络

    理论上访问手机版或者iPad等平板电脑版的网络,应该可以剩些流量的,毕竟移动网络是经过优化压缩的,但是PC电脑如果访问移动版的网站呢?我主要使用的浏览器是Chrome,这几天也找了下Chrome下的修 ...

  7. PowerDesigner 图表导出Excel格式

    快捷方式打开运行界面:ctrl+shift+X '*************************************************************************** ...

  8. django+xadmin在线教育平台(七)

    4-3 新建项目 Python2.7 创建虚拟环境. mkvirtualenv mxonline2 安装django pip install django==1.9.8 注意Python2下此处必须用 ...

  9. centos下LVM配置与管理

    centos下LVM配置与管理 LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层, ...

  10. js面向(基于)对象编程—类(原型对象)与对象

    JS分三个部分: 1. ECMAScript标准--基础语法 2. DOM  Document Object Model 文档对象模型 3. BOM  Browser Object Moldel 浏览 ...