(阅读GPU+编程与CG+语言之阳春白雪下里巴人所得总结)

GPU图形绘制管线是描述GPU渲染(把三维世界显示为屏幕上的二维图像)的流程,主要分为三个主要阶段应用程序阶段、几何阶段、光栅阶段。

1.应用程序阶段

使用高级编程语言进行开发,和CPU、内存交互(诸如碰撞检测、场景图建立、空间八叉树更新、视锥裁剪等经典算法都在此阶段执行)。最后把几何数据通过数据总线传到图形硬件。

2.几何阶段

主要负责顶点变换、光照、裁剪、投影以及屏幕映射以得到变换后的顶点坐标、纹理坐标、颜色。

2.1顶点坐标的空间转换

2.1.1从物体坐标到世界坐标

光照计算通常在世界坐标中进行。

顶点法向量的转换矩阵是world matrix的转置矩阵的逆矩阵。

2.1.2从世界坐标到视点坐标

视点坐标是以camera(视点或相机)为原点,由视线方向、视角和远近平面,共同组成一个梯形体的三维空间,称之为viewing frustum(视锥)。超出视锥部分进行视点去除。

2.1.3从视点坐标到屏幕坐标空间

三步组成:

1.用透视变换矩阵把顶点从视锥体中变换到裁剪空间的CVV(规范立方体,该立方体的对角顶点分别是(-1,-1,-1)和(1,1,1))中,这个过程就是我们常说的投影;

2.  在CVV进行图元裁剪;

3.屏幕映射:将经过前述过程得到的坐标映射到屏幕坐标系上。

注:视点去除也可以用高级语言在cpu上实现。

2.2图元装配

将顶点根据primitive(原始的连接关系)还原出网格结构。超出屏幕的三角形要进行裁剪,看到的部分变成四边形,也就是由两个三角形组成。

另外根据三角形顶点顺序来决定法向量(右手定则),一般顶点按逆时针排列,如果法向量朝向视点则为正面(法向量与到视点的方向的点积为正)。反面则要进行背面剔除。

3.光栅阶段

3.1光栅化本质坐标变换,几何离散化(点的位置四舍五入为整数)。通俗地讲,就是将几何信息转换成一个个的栅格组成的图像过程。

至于画线和图元填充可以参阅《计算机图形学》。

3.2像素操作

计算出每个像素的颜色。包含以下:

1.消除遮挡面

2.Texture operation,纹理操作,也就是根据像素的纹理坐标,查询对应的纹理值

3.Blending,混色

4:Filtering,将正在算的颜色经过某种Filtering(滤波或者滤镜)后输出。

转载于:https://www.cnblogs.com/pj2933/p/11098184.html

GPU图形绘制管线简介相关推荐

  1. 计算机图形学绘制多边形代码_《GPU编程与CG语言之阳春白雪下里巴人》- 第二章(GPU 图形绘制管线)...

    第二章 GPU 图形绘制管线 万事开头难,每门科学都是如此. ------ 马克思 图形绘制管线描述 GPU 渲染流程,即"给定视点.三维物体.光源.照明模式,和纹理等元素,如何绘制一幅二维 ...

  2. GPU 图形绘制管线

    GPU vs CPU 由于 GPU 具有高并行结构(highly parallel structure),所以 GPU 在处理图形数据和复杂算法方面拥有比 CPU 更高的效率. 图 1 GPU VS ...

  3. GPU图形绘制管线(一)

    摘自康玉之<GPU编程与CG语言之阳春白雪下里巴人>第二章,侵删. 图形绘制管线描述 GPU 渲染流程,即"给定视点.三维物体.光源.照明模 式,和纹理等元素,如何绘制一幅二维图 ...

  4. (转)GPU图形绘制管线

    摘抄"GPU Programming And Cg Language Primer 1rd Edition" 中文名"GPU编程与CG语言之阳春白雪下里巴人"第 ...

  5. WebGL(三)——学习Canvas及简单图形绘制

    WebGL(三)--学习Canvas及简单图形绘制 Canvas简介 canvas是HTML5新增的一个可以使用javascript脚本在其中绘制图像的HTML元素(容器),它可以用来制作图像.动画, ...

  6. .NET Framework 中新托管 Direct3D 图形 API 的简介

    .NET Framework 中新托管 Direct3D 图形 API 的简介 发布日期: 12/6/2004 | 更新日期: 12/6/2004 Yahya H. Mirza 和 Henry da ...

  7. 【Python】Pyecharts 组合图形绘制实践

    来源:Python数据之道 作者:Peter 整理:Lemon Pyecharts 组合图形绘制实践 大家好,之前跟大家分享了用 Pyecharts 绘制桑基图和饼图: 炫酷!用Python制作漂亮的 ...

  8. python图形绘制库turtle中文开发文档及示例大全【最详细、连结果图都有,gif格式的!】

    前言 本文参考:Python库官方文档 本文例子摘抄自Python库官方文档,为了方便讲解,个人进行了修改,并且相关函数说明不完全参照文档,在结果处贴出了执行结果,不方便用jpg等图片作为展示的用了g ...

  9. libgdx 图形绘制

    纹理(texture) 一个图片从原始格式解码并上传到GPU就被称为纹理.OpenGL要求纹理的高度和宽度都必须是2的n次方大小,只有满足这个条件纹理图片才是有效的. 一旦获取了像素值,我们就可以将这 ...

  10. 利用GPU实时绘制水墨画效果

    2009-8-11 作者: 陈为 张海嵩 于金辉 来源: 万方数据 关键字: GPU 非真实感绘制 硬件加速绘制 动画 系统可实时绘制中国山水画中常见的物体并生成视频输出,它包括5 个模块:多通道技术 ...

最新文章

  1. 136 Single Number(找唯一数Medium)
  2. May 18:PHP 用到的学习工具
  3. 导入第三方组件_大型 web 应用公共组件架构是如何来的?
  4. networkx 标签_networkx绘制BA无标度网络
  5. MyBatis-Plus_通用service
  6. Qt文档阅读笔记-QNetworkProxy::ProxyType解析(Qt设置Fiddler代理)
  7. updating homebrew...一直在等 brew install xxx卡在Updating Homebrew
  8. 扩展Kubernetes API
  9. Flutter实战之Dio入门使用
  10. Java练习题(String)
  11. ORCAD生成BOM单时不显示元器件封装
  12. krita绘图_如何使用Krita制作动画视频
  13. 如何彻底卸载电脑中的垃圾软件
  14. java编程导出pdf_java中根据模板生成pdf文件
  15. 【情书加密】,c++花式表白,这样泡小师妹,没跑了。
  16. 中公教育python教师_为什么中公教育、华图的老师不自己去考公务员?
  17. 一键GHOST是什么?
  18. NTP8910A(内置DSP、10W双声道立体声 I2S数字功放芯片)
  19. SSD固态硬盘的Trim命令是什么
  20. 6个座位办公室最佳位置_办公室座位风水

热门文章

  1. java案例代码7--双色球的小项目
  2. while循环python输入质数_Python学习之[while]循环
  3. python两数之和是多少_Python面试:两数之和
  4. 有多个script怎么放一起_在南方我们觉得儿菜的特种蔬菜,对它得如何处理?怎么做出美味?...
  5. 教你chrome浏览器断点调试理解闭包
  6. UI设计教程学习分享:APP布局
  7. 解决Selection executes are supported only in the DbVisualizer Personal edition
  8. leetcode sql
  9. DOM中cloneNode的使用之旅
  10. C#语言课程11月11日