Shader 学习笔记(一) 渲染流水线

1. shader       

    Shader是渲染流水线中的一个环节 ,  要想知道Shader在其中扮演什么角色,就要了解渲染流水线是什么 。

2  流水线     

流水线的好处是提高了单位时间内的生产量,最后提高了整个生产流水线的生产效率。  在流水线系统中决定最后生产速   度的是最慢的工序所用的时间,因此最慢的工序是性能的瓶颈。

3  渲染流水线 

渲染流水线是由一个三维场景出发,渲染成一张二位图像显示在屏幕上。  换句话说就是计算机从一系列顶点数据,纹理等信息出发,把这些信息最终转换成人眼可以看到的图像。(由CPU和GPU一起完成)


 渲染流水线的概念阶段:应用阶段(Application Stage)-->几何阶段(Geometry Stage)-->光栅化阶段(Rasterizer Stage)

渲染流水线的每个阶段都是一个流水线系统。

 一    应用阶段:这个阶段是由我们的应用主导的,由CPU控制,我们有绝对的主导权;

(1)准备场景数据

   例如 摄像机或模型的位置信息,使用的光源等;

(2)粗粒度剔除

  为了提高渲染的性能,要把不可见得物体剔除出去,就不需要把不可见的数据交给几何阶段处理,提高了性能

(3)设置渲染状态

   包括使用的材质,漫反射  高光反射颜色  纹理   shader等。最终要的就是输出渲染所需要的几何信息,即渲染图元。渲染图元被传    递给下一个阶段---几何阶段

二    几何阶段:决定需要绘制的图元是什么,怎么绘制图元,在哪里绘制他们。 这一阶段在GPU上进行。

 几何阶段负责和每个渲染图元打交道,进行逐顶点 逐多边形操作。几何阶段的重要任务就是把顶点坐标变换到屏幕空间中,再到光栅化阶段。这一阶段将会输出屏幕空间的二维顶点坐标,每个顶点对应的深度值 着色等信息,传递给下一个阶段。

三    光栅化阶段:接受上一个阶段传来的数据来产生屏幕上的像素,渲染出图像,这一阶段在GPU上进行。

  光栅化的主要任务是决定每一个渲染图元中那些要被绘制在屏幕上,要对上一个阶段的数据(逐顶点数据  例如顶点颜色 纹理坐标等)进行插值,在进行逐像素处理。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值