https://www.zhihu.com/question/29163054
光栅(shan一声)化(Rasterize/rasteriztion)。
这个词儿Adobe官方翻译成栅格化或者像素化。没错,就是把矢量图形转化成像素点儿的过程。我们屏幕上显示的画面都是由像素组成,而三维物体都是点线面构成的。要让点线面,变成能在屏幕上显示的像素,就需要Rasterize这个过程。就是从矢量的点线面的描述,变成像素的描述。
如下图,这是一个放大了1200%的屏幕,前面是告诉计算机我有一个圆形,后面就是计算机把圆形转换成可以显示的像素点。这个过程就是Rasterize。
百度百科的解释:
就是将图转化为一个个栅格组成的图象。
光栅化就是把顶点数据转换为片元的过程片元中的每一个元素对应于帧缓冲区中的一个像素
光栅化其实是一种将几何图元变为二维图像的过程。该过程包含了两部分的工作。第一部分工作:决定窗口坐标中的哪些整型栅格区域被基本图元占用;第二部分工作:分配一个颜色值和一个深度值到各个区域。光栅化过程产生的是片元。
把物体的数学描述以及与物体相关的颜色信息转换为屏幕上用于对应位置的像素及用于填充像素的颜色,这个过程称为光栅化,这是一个将模拟信号转化为离散信号的过程。
————————————
渲染管线(Pipeline)
这个翻译尤其不接地气,简直就是直译(pipe管子line线路)。Pipeline是输送管道的意思。其实是指三维渲染的过程中显卡执行的、从几何体到最终渲染图像的、数据传输处理计算的过程。
————————————
着色器(Shader)
这个翻译的挺好。画画的时候我们经常有这么一个过程:先打线稿,再上色。着色器就是用来做这个工作的。
通常着色器分两种:
1顶点着色器(vertex shader)这个是告诉电脑如何打线稿的——如何处理顶点、法线等的数据的小程序。
2片面着色器(fragment shader)这个是告诉电脑如何上色的——如何处理光、阴影、遮挡、环境等等对物体表面的影响,最终生成一副图像的小程序。
采用了这两种着色器小程序数据传输处理计算的渲染过程,称之为 可编程管线。
对于图形 api的使用者来说,为了能正确显示图像,往往要对整个pipeline的过程,顺序有了解。一简单流程如下:
管线程序段输入=>顶点着色器=>光栅化=>片元着色器=>屏幕颜色
(上一个函数的)输出 传递给=> (下一个函数作为)输入

转载于:https://www.cnblogs.com/yangai/p/6764383.html

OpenGL中着色器,渲染管线,光栅化相关推荐

  1. 新手向:如何理解OpenGL中着色器,渲染管线,光栅化等概念

    首先,光栅化(Rasterize/rasteriztion).  这个词儿Adobe官方翻译成栅格化或者像素化.没错,就是把矢量图形转化成像素点儿的过程.我们屏幕上显示的画面都是由像素组成,而三维物体 ...

  2. OpenGL渲染管线,着色器,光栅化等概念理解

    卧槽,前些日子看这几个概念就十分想吐槽,这么难理解的概念窃以为纯属翻译的不够接地气. ---- 首先,光栅化(Rasterize/rasteriztion). 这个词儿Adobe官方翻译成栅格化或者像 ...

  3. OpenGL ES着色器语言之变量和数据类型

    所有变量和函数在使用前必须声明.变量和函数名是标识符. 没有默认类型,所有变量和函数声明必须包含一个声明类型以及可选的修饰符.变量在声明的时候首先要标明类型,后边可以跟多个变量,之间用逗号隔开.很多情 ...

  4. OpenGL ES着色器语言之语句和结构体(官方文档第六章)内建变量(官方文档第七、八章)...

    OpenGL ES着色器语言之语句和结构体(官方文档第六章) OpenGL ES着色器语言的程序块基本构成如下: 语句和声明 函数定义 选择(if-else) 迭代(for, while, do-wh ...

  5. OpenGL编译着色器

    1.读入着色器的代码 一般着色器的代码可以写在raw下创建glsl文件. gls是openGL的着色语言. 1.1.顶点着色器 定义的每个单一的顶点,顶点着色器都会调用一次,当他被调用的时候,会在a_ ...

  6. OpenGL ES着色器语言之变量和数据类型(二)(官方文档第四章)

    OpenGL ES着色器语言之变量和数据类型(二)(官方文档第四章) 4.5精度和精度修饰符 4.5.1范围和精度 用于存储和展示浮点数.整数变量的范围和精度依赖于数值的源(varying,unifo ...

  7. OpenGL ES着色器语言(GLSL ES)规范 ——下篇

    文章目录 前言 分支和循环 if.if-else for continue.break.discard 着色器内置变量 函数 函数定义 规范声明 webgl内置函数 存储限定字 const attri ...

  8. OpenGL 几何着色器细分的实例

    OpenGL 几何着色器细分 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include <vmath.h> #include <cmath ...

  9. OpenGL 几何着色器剔除的实例

    OpenGL 几何着色器剔除 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include <vmath.h> #include <objec ...

最新文章

  1. JavaScript初学者编程题(17)
  2. aba问题mysql_解决CAS机制中ABA问题的AtomicStampedReference详解
  3. js accordian效果
  4. linux 怎么添加path环境变量,Linux下怎么添加和查看PATH环境变量
  5. 二叉排序树的后序遍历序列必然是递增的_剑指offer 33——二叉搜索树的后序遍历序列...
  6. 新年第一篇!西南民族大学第十届校赛(同步赛)
  7. 软考信息系统项目管理师_信息化与信息系统5_信息系统规划_补充问题---软考高级之信息系统项目管理师007
  8. python中字典不自动排序/删除指定类型文件/执行可执行文件的返回值
  9. 蓝桥杯 ADV-89 算法提高 输出九九乘法表
  10. Linux之rmdir命令
  11. paip.快捷方式分组管理最佳实践ObjectDock
  12. 用python爬虫批量下载pdf
  13. matlab阵列方向性系数,阵列天线方向图的MATLAB实现.pdf
  14. 图论 二分图 小世界网络 语义网络
  15. iOS开发APP瘦身之PDF图片资源加载框架
  16. 报错:IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or
  17. 灰度值阈值设置matlab,基本全局阈值法(basic global thresholding)MATLAB实现
  18. 新闻关键字提取和新闻推荐
  19. ASP+Access的安全隐患及对策
  20. 泰兰德的记忆·悲情伊利丹

热门文章

  1. 练习 假设性思维 和Mapping from vision to reality
  2. 浅谈ASP.NET内部机制(五)
  3. transmit failed error code:65
  4. 管理的最高境界:残缺中的和谐
  5. 虚方法、重写方法和抽象方法[转载]
  6. php读取 rss pubdate,PHP产生RSS pubDate所需日期时间格式的方法
  7. Xilinx FPGA开发工具总结
  8. 从源码分析DEARGUI之add_window
  9. 使用迁移学习不断的自我纠正神经网络
  10. BZOJ3529: [Sdoi2014]数表(莫比乌斯反演 树状数组)