@author:白袍小道

说明

1、由于小道就三境武夫而已,而UE渲染部分不仅管理挺大,而且牵扯技术和内容驳杂,所以才有这篇梳理。

2、尽量会按书籍和资料,源码,小模块的调试和搬山(就是敲键盘)。。等来求个明白清楚,为此感谢有这些良田美玉。

老规矩先有规则,后实践,颠颠撞撞总能摸得(至于理解结果各不同)

前言:

UE这部分,主要涉及到的模块有Render,RenderCore,RHI,Core。

关于UE渲染的模块和框架设计是放到最后统一来分析,前面一般都是源码说明,资料,实现,结论的穿插。

 
 

正文

这里先把后续目录和简要列出(目录基本综合了几本书、资料、UE渲染管理来),后续是杂说但都是按这个结构。

目的是分析和对照实验(对比以前的才有伤害和回忆)

 
 

1、渲染管线和UE渲染模块

1.1 管线说明

1.2 UE渲染模块简单说明

1.3 程序和场景查询

1.4 几何

1.5 光栅

1.6 缓冲区

1.7 合并和呈现

1.8 UE流程

 
 

2、UE渲染有关资源

2.1、模型

2.2、纹理

2.3、材质

 
 

3、着色器

3.1 边界和域着色

3.2 几何着色

3,3 细分曲面

3,4 像素着色

 
 

4、视觉外观

4.1 光照和材质

4.2 UE的材质系统

4.3 着色

4.4 锯齿

4.5 透明

4.6 颜射空间

4.7 矫正

4.8 总结

 
 

5、纹理技术

5.1 Texture Pipeline

5.2 CubeMap, VolumnTexture

5.3 TextureCache, TextureStream

5.4 压缩和维护

5.5 程序纹理

5.8 NormalMap,AO/Mate/Rou几个简单说明

5.9 总结

 
 

6、着色技术

1、物理渲染的基础

2、分类

3、UE中物理渲染部分

4、UE高级着色部分

 
 

7、渲染方式

6.1 顶点逐像素

6.2 前向渲染(人话码:对每个物体逐像素计算光(几个)的累积效果的过程)

6.3 延时渲染 (人话码:先把最后的呈现(还没逐像素计算光)的效果得到(Gbuffer),最后再来逐像素计算光))

6.4 分块延时渲染,以及几个渲染路径

6.5 环境映射

 
 

8、全局光照

8.1 几种技术(光线,路径)

8.2 光遮挡

8.3 结果

 
 

9、图像的渲染技术

1、Spectrum, SkyBox

2、光彩

3、精灵和UI

4、公告板

5、UE ParticleSystem

6、颜色矫正和色调的映射

7、后期的Bloom,LensFlare, HDR

8、DOF和模糊

9、体渲染

 
 

10、NPR着色

1、卡通和轮廓

2、其他

 
 

11、渲染加速和优化

1、空间数据和裁剪

2、背面裁剪、层次视锥、入口裁剪

3、细节和遮挡

4、LOD

5、Point Render

 
 

12、UE渲染框架总说

1、Render框架和流程

2、渲染加速和渲染RHICommand封装部分

3、渲染线程

 
 

12、基础渲染的优化Policy和Detail

 
 

13、特殊效果

(原)Unreal渲染模块 源码和实例分析说明的更多相关文章

  1. Django(51)drf渲染模块源码分析

    前言 渲染模块的原理和解析模块是一样,drf默认的渲染有2种方式,一种是json格式,另一种是模板方式. 渲染模块源码入口 入口:APIView类中dispatch方法中的:self.response ...

  2. (原)Unreal 渲染模块引言Temp

            @author:白袍小道     引言 本文只在对Unreal渲染模块做一些详细的理解,务求能分析出个大概. 其中框架的思想和实现的过程,是非常值得学习和推敲一二的. 涉及资源系统,材 ...

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

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

  4. Spark Scheduler模块源码分析之DAGScheduler

    本文主要结合Spark-1.6.0的源码,对Spark中任务调度模块的执行过程进行分析.Spark Application在遇到Action操作时才会真正的提交任务并进行计算.这时Spark会根据Ac ...

  5. Spark Scheduler模块源码分析之TaskScheduler和SchedulerBackend

    本文是Scheduler模块源码分析的第二篇,第一篇Spark Scheduler模块源码分析之DAGScheduler主要分析了DAGScheduler.本文接下来结合Spark-1.6.0的源码继 ...

  6. 基于Python的datetime模块和time模块源码阅读分析

    目录 1 前言  2 datetime.pyi源码分步解析 2.1 头部定义源码分析 2.2 tzinfo类源码分析 2.3 date类源码分析 2.4 time类源码分析 2.5 timedelta ...

  7. Zepto事件模块源码分析

    Zepto事件模块源码分析 一.保存事件数据的handlers 我们知道js原生api中要移除事件,需要传入绑定时的回调函数.而Zepto则可以不传入回调函数,直接移除对应类型的所有事件.原因就在于Z ...

  8. 【nodejs原理&源码赏析(4)】深度剖析cluster模块源码与node.js多进程(上)

    [摘要] 集群管理模块cluster浅析 示例代码托管在:http://www.github.com/dashnowords/blogs 一. 概述 cluster模块是node.js中用于实现和管理 ...

  9. 【nodejs原理&源码赏析(4)】深度剖析cluster模块源码与node.js多进程(上)

    目录 一. 概述 二. 线程与进程 三. cluster模块源码解析 3.1 起步 3.2 入口 3.3 主进程模块master.js 3.4 子进程模块child.js 四. 小结 示例代码托管在: ...

随机推荐

  1. Uva 11235 RMQ问题

    RMQ: 有一个不变的数组,不停的求一个区间的最小值. 使用倍增的思想优化到logN; d(i,j) 表示从 i 开始的,长度为2j的一段元素中的最小值. 那么状态转移方程: d(i,j) = min ...

  2. 曲率(Curvature)

    原文链接 几何体的曲率对于不同的对象有不同的定义.首先来看最简单的平面曲线. 首先把曲线分成无穷小的小段,每一段看作某个圆的一小段圆弧.这个圆叫做“密切圆”(Osculating Circle).由于 ...

  3. JQuery基础原理 与实例 验证表单 省市联动 文本框判空 单选 复选 判空 下拉判空 确认密码判等

    JQuery 基础原理 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...

  4. java 基础词汇 必须 第九天

    Collection 集合 List 列表集合 Set 不重复集合 Linked 链表 Vector 线程安全集合 Hash 哈希值 tree 树型结构 Map 键值对集合 add 增加 remove ...

  5. c++ 11 线程池的简单封装

    #include <condition_variable> #include <queue> #include <thread> #include <vect ...

  6. 异构数据库迁移——DATAX

    背景 在最近接触到的一个case里面,需要把db2的数据迁移至oracle,客户可接收的停机时间为3小时. 同步方式的比较 一说到停机时间,大家第一时间想到Oracle公司的GoldenGate实时同 ...

  7. cordforce 495 补题 <未完>

    题目链接: http://codeforces.com/contest/1004/my A. Sonya and Hotels 分类讨论 看第一个样例解释的时候没看到后面第二行还有一个19,想了半天为 ...

  8. zookeeper的搭建方法

    1.创建三台虚拟机分别在虚拟机上安装Ubuntu16.04Server版的系统. 2.首先选择配置好第一台虚拟机,使用命令vim /etc/hosts对该文件进行修改 3.将zookeeper-3.4 ...

  9. 最小生成数kruskal算法和prim算法

    定义 连通图:在无向图中,若任意两个顶点vivi与vjvj都有路径相通,则称该无向图为连通图. 强连通图:在有向图中,若任意两个顶点vivi与vjvj都有路径相通,则称该有向图为强连通图. 连通网:在 ...

  10. POJ-3126 BFS,埃式筛选及黑科技

    题目大意:给定两个四位素数a  b,要求把a变换到b,变换的过程要保证  每次变换出来的数都是一个 四位素数,而且当前这步的变换所得的素数  与  前一步得到的素数  只能有一个位不同,而且每步得到的 ...