Rendering pipeline overview(读书笔记1 --- Real-Time rendering)
1. Rendering pipeline的作用就是在给定的虚拟相机、三维物体、光源、着色方程式、纹理等的条件下产生(渲染)二维图像

2. pipeline包含很多个stage,其效率由最慢的stage决定
3. 一个实时渲染系统可以包含三个阶段:application, geometry, rasterizer,每个阶段可能自己也是由pipeline组成的(geometry stage),或者是并行化的(rasterizer)

4. Hertz用来表示硬件的刷新率=1/sec
FPS可以表示某一帧用的时间,也可以表示某段时间内的平均performance
找到pipeline中的最慢stage,就可以算出FPS
在pipeline中,名词 throughput (吞吐率)用来表示渲染速度
渲染速度举例:一台刷新率为60Hz的显示器,rendering pipeline的瓶颈需要62.5ms来执行,则最大渲染速度为1/0.0625=16FPS;显示器60Hz,60/2=30Hz,60/3=20Hz,60/4=15Hz。所以最终渲染速度为15Hz
5. application stage: 在CPU上执行,开发者有绝对控制权。
这一阶段的行为有可能会影响后续阶段的performance.
这一阶段的输出为rendering primitives, 即点/线/三角形等
6. geometry stage:矩阵变换,投影。计算画什么,怎么画,在哪里画。
分为这几个功能stage: 建模和视图变换,顶点shading,投影,clipping,screen mapping

7. Rendering pipeline
这里讲的rendering pipeline是real-time rendering pipeline,这不是唯一一种rendering pipeline,还有离屏rendering pipeline。譬如,电影制作中最常使用的是micropolygon pipelines,学术研究和predictive rendering applications(如建筑物可视化预览等)通常采用ray tracing(光线追踪) renderers
Rendering pipeline overview(读书笔记1 --- Real-Time rendering)的更多相关文章
- DirectX 11游戏编程学习笔记之6: 第5章The Rendering Pipeline(渲染管线)
本文由哈利_蜘蛛侠原创,转载请注明出处.有问题欢迎联系2024958085@qq.com 注:我给的电子版是700多页,而实体书是800多页,所以我在提到相关概念的时候 ...
- 部署:持续集成(CI)与持续交付(CD)——《微服务设计》读书笔记
系列文章目录: <微服务设计>读书笔记大纲 一.CI(Continuous Integration)简介 CI规则1:尽量频繁地把代码签入到分支中以进行集成 CI规则2: ...
- 《Apache kafka实战》读书笔记-管理Kafka集群安全之ACL篇
<Apache kafka实战>读书笔记-管理Kafka集群安全之ACL篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 想必大家能看到这篇博客的小伙伴,估计你对kaf ...
- Understanding Scroll Views 深入理解 scroll view 读书笔记
Understanding Scroll Views 深入理解 scroll view 读书笔记 It may be hard to believe, but a UIScrollView is ...
- 6 Specialzed layers 特殊层 第一部分 读书笔记
6 Specialzed layers 特殊层 第一部分 读书笔记 Specialization is a feature of every complex organization. 专注是 ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 读书笔记--SQL必知必会18--视图
读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...
- 《C#本质论》读书笔记(18)多线程处理
.NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...
- C#温故知新:《C#图解教程》读书笔记系列
一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...
随机推荐
- FileSystem.DeleteDirectory遇到"无法删除 文件:无法读取源文件或磁盘"
Microsoft.VisualBasic.FileIO.FileSystem.DeleteDirectory(fileFolder, UIOption.AllDialogs, RecycleOpti ...
- Oracle表空间(tablespaces)
http://www.cnblogs.com/fnng/archive/2012/08/12/2634485.html 我们知道oarcle数据库真正存放数据的是数据文件(data files),Oa ...
- Linux Epoll相关知识
其实在Linux下设计并发网络程序,向来不缺少方法,比如典型的Apache模型(Process Per Connection,简称PPC),TPC(Thread PerConnection)模型,以及 ...
- AJAX怎么用POST 传参数
//注册回调函数.注意注册回调函数是不能加括号,加了会把函数的值返回给onreadystatechange xmlhttp.onreadystatechange = callback; //设置连接信 ...
- npoi本地文件
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- sevice__属性介绍: android:exported
http://blog.csdn.net/lhf0000/article/details/6576327 http://blog.csdn.net/berry666/article/details/2 ...
- Could not find com.android.tools.build:gradle:1.3.0.
* What went wrong: A problem occurred configuring project ':TZYJ_Android'.> Could not re ...
- sklearn学习笔记1
Image recognition with Support Vector Machines #our dataset is provided within scikit-learn #let's s ...
- mybatis动态调用表名和字段名
以后慢慢启用个人博客:http://www.yuanrengu.com/index.php/mybatis1021.html 一直在使用Mybatis这个ORM框架,都是使用mybatis里的一些常用 ...
- [AS3.0] Error #2044: 未处理的 NetStatusEvent:。 level=error, code=NetStream.Record.NoAcces 解决办法
突然又需要FMS做视频录制,却遇到一些意想不到的问题,我在想当年做的时候怎么没遇到... 报错: Error #2044: 未处理的 NetStatusEvent:. level=error, cod ...