shade学习过程2——shader和渲染管线

        一 shader

        shader,也叫着色器,是一种较为短小的程序片段,用于告诉图形硬件如何计算和输出图像,过去由汇编语言来编写,现在也可以使用高级语言来编写。一句话概括:Shader是可编程图形管线的算法片段。    

        分为两类:Vertex Shader 和Fragment Shader.

       二 、渲染管线

        渲染管线也称为渲染流水线,是显示芯片内部处理图形信号相互独立的并行处理单元。一个流水线是一序列可以并行和按照固定顺寻进行的阶段。每个阶段都从它的前一阶段接收输入,然后把输出发给随后的阶段。就像一个再同一时期内,不同阶段不同的骑车一起制造的装配线,传统的图形硬件流水线以流水的方式处理大量的顶点、几何图元和片段。


GPU前端模块 到图元装配,在过去T&L是无法编程的,而现在具有编程能力,就是插入了定点着色器

光栅化:就是计算机显卡当中运算的数据进行一个细分用于去适配屏幕上具体的每个像素的显示

帧缓存:实际上,所有的现代图形系统都是基于光栅的。在这样的图形系统中,我们在输出设备上看到的图像是一个由图形系统产生的图形元素组成的阵列,图形元素也叫像素(pixel),像素阵列也称为光栅(raster)。
每一个像素对应于图像中的一个位置,或者一块小的区域。这些像素都保存在一个称为帧缓存(frame buffer)的存储区域中。帧缓存可以看做是图形系统的核心元素。帧缓存中像素的数目叫做分辨率(resolution),他决定了可以从图像中分辨出多少细节。帧缓存的深度(depth)与精度(precision)是表示每个像素所用的比特数,它决定了诸如给定系统中可以表示多少种颜色之类的性质。(深度为1比特的帧缓存只允许有两种颜色,而深度为8比特的帧缓存可以表示256中颜色。在全色彩中每个像素有24个比特或者更多。它们因此也被称为真彩色系统或者RGB颜色系统。)



扫描二维码关注公众号,回复: 1755673 查看本文章

        三、shader和材质、贴图的冠希

        shader(着色器)实际上就是一小段程序,它负责将输入的顶点数据以指定的方式输入的贴图或者颜色灯组合起来,然后输出。绘图单元可以依据这个输出来将图像绘制到屏幕上。输入的贴图或者颜色等,加上对应的Shader,以及对Shader的特定的参数设置,将这些内容(Shader及输入参数)打包粗存在一起,得到的就是一个Material(材质)。之后,我们便可以将材质赋予三维物体来进行渲染(输出)了。

        材质好比引擎最终使用的商品,Shader好比是生产这种商品的加工方法,而贴图就是原材料。

        总结:1、shader是图形可编程方案的片段程序

                   2、渲染管线是一种计算机从数据到最终图形成像的形象描述

                    3、材质是商品,Shader是方法,贴图是材料

猜你喜欢

转载自blog.csdn.net/baicaishisan/article/details/80501980