电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
创作
电子发烧友网>电子资料下载>人工智能>渲染管线简单梳理

渲染管线简单梳理

2021-02-24 | pdf | 322.85KB | 次下载 | 2积分

资料介绍

图形渲染管线


应用程序阶段

主要任务是在应用程序阶段的末端,将需要在屏幕上显示出来绘制的集合体(如点、线、矩阵等)输入到绘制管线的下一个阶段。

对于被渲染的每一帧,应用程序阶段将摄像机位置,光照和模型的图元输出到管线的下一个主要阶段——几何阶段。

几何阶段

可以划分为一下几个功能阶段:

  • 模型视图变换 Model & View Transform:分为模型变换和视图变换,模型变换即旋转、平移、缩放,视图变换可以理解为将模型转到相机坐标系下。
  • 顶点着色 Vertex Shading:确定模型上顶点处材质的光照效果。
  • 投影 Projection:将视体变换到规范立方体(Canonical View Volume,CVV)中,模型位于归一化设备坐标系中(NDC)。分为正交投影和透视投影,Z 坐标将不会再保存于的得到的投影图片中,所以就是将模型从三维空间投射到了二维的空间中的过程。
  • 裁剪 Clipping:对部分位于视体内部的图元进行裁剪操作。
  • 屏幕映射 Screen Mapping:将之前得到的坐标映射到对应的屏幕坐标系上。

光栅化阶段

可以分为以下几个功能阶段:

  • 三角形设定(Triangle Setup)阶段:计算三角形表面的差异和三角形表面的其他相关数据。
  • 三角形遍历(Triangle Traversal)阶段:找到哪些采样点或像素在三角形中的过程。
  • 像素着色(Pixel Shading)阶段:所有逐像素的着色计算都在像素着色阶段进行,使用插值得来的着色数据作为输入,输出结果为一种或多种将被传送到下一阶段的颜色信息。纹理贴图操作就是在这阶段进行的。
  • 融合(Merging)阶段:合成当前储存于缓冲器中的由之前的像素着色阶段产生的片段颜色。此外,融合阶段还负责可见性问题(Z 缓冲相关)的处理。

GPU渲染管线



  • 绿色的阶段是完全可编程
  • 黄色的阶段可配置,但不可编程
  • 蓝色的阶段完全固定

顶点着色器(The Vertex Shader)

是完全可编程的阶段,顶点着色器可以对每个顶点进行诸如变换和变形在内的很多操作,提供了修改/创建/忽略顶点相关属性的功能,这些顶点属性包括颜色、法线、纹理坐标和位置。顶点着色器的必须完成的任务是将顶点从模型空间转换到齐次裁剪空间。

几何着色器(The Geometry Shader)

位于顶点着色器之后,允许 GPU 高效地创建和销毁几何图元。几何着色器是可选的,完全可编程的阶段,主要对图元(点、线、三角形)的顶点进行操作。几何着色器接收顶点着色器的输出作为输入,通过高效的几何运算,将数据输出,数据随后经过几何阶段和光栅化阶段的其他处理后,会发送给片段着色器。

裁剪(Clipping)

属于可配置的功能阶段,在此阶段可选运行的裁剪方式,以及添加自定义的裁剪
面。

屏幕映射(Screen Mapping)、三角形设置(Triangle Setup)和三角形遍历(Triangle Traversal)阶段是固定功能阶段。

像素着色器(Pixel Shader)

像素着色器(Pixel Shader, Direct3D 中的叫法)常常又称为片断着色器,片元着色器(FragmentShader, OpenGL 中的叫法),是完全可编程的阶段,主要作用是进行像素的处理,让复杂的着色方程在每一个像素上执行。

合并阶段(The Merger Stage)

处于完全可编程和固定功能之间,尽管不能编程,但是高度可配置,可以进行一系列的操作。其除了进行合并操作,还分管颜色修改(Color Modifying), Z 缓冲(Zbuffer),混合(Blend),模板(Stencil)和相关缓存的处理。

来源:《Real-Time Rendering 3rd》提炼总结
直接来源 :https://blog.csdn.net/willaoo/article/details/88393169

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1电子电路原理第七版PDF电子教材免费下载
  2. 0.00 MB  |  1491次下载  |  免费
  3. 2单片机典型实例介绍
  4. 18.19 MB  |  95次下载  |  1 积分
  5. 3S7-200PLC编程实例详细资料
  6. 1.17 MB  |  27次下载  |  1 积分
  7. 4笔记本电脑主板的元件识别和讲解说明
  8. 4.28 MB  |  18次下载  |  4 积分
  9. 5开关电源原理及各功能电路详解
  10. 0.38 MB  |  11次下载  |  免费
  11. 6100W短波放大电路图
  12. 0.05 MB  |  4次下载  |  3 积分
  13. 7基于单片机和 SG3525的程控开关电源设计
  14. 0.23 MB  |  4次下载  |  免费
  15. 8基于AT89C2051/4051单片机编程器的实验
  16. 0.11 MB  |  4次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234313次下载  |  免费
  3. 2PADS 9.0 2009最新版 -下载
  4. 0.00 MB  |  66304次下载  |  免费
  5. 3protel99下载protel99软件下载(中文版)
  6. 0.00 MB  |  51209次下载  |  免费
  7. 4LabView 8.0 专业版下载 (3CD完整版)
  8. 0.00 MB  |  51043次下载  |  免费
  9. 5555集成电路应用800例(新编版)
  10. 0.00 MB  |  33562次下载  |  免费
  11. 6接口电路图大全
  12. 未知  |  30320次下载  |  免费
  13. 7Multisim 10下载Multisim 10 中文版
  14. 0.00 MB  |  28588次下载  |  免费
  15. 8开关电源设计实例指南
  16. 未知  |  21539次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935053次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537793次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234313次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191183次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183277次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138039次下载  |  免费