Shader 稚童

shader前言

2021-02-03  本文已影响0人  爱喝粥的西瓜

在磕磕绊绊的学习中留下一点方便后续复习的资料,如果有出错的地方,烦请指正.先行谢过.
unity shader组件

什么是shader?

        shader本质上来说就是运行在GPU上的一组指令,用来处理图像最终怎么显示在计算机的输出设备上.

GPU与CPU

        GPU的核心就是图像处理单元,这个图像处理单元为了方便对图像进行操作和处理而专门设计的电路,相对于CPU来说GPU在图像处理上拥有更快的处理速度,在图像处理上更高效.这一特性是由于GPU的CPU不同的设计方式决定了,在设计之初CPU的计算核心是采用串行操作的方式,有点流水线的方式,而GPU的图像处理单元采用的是并行操作方式.

shader类型

        shander根据工作方式,可以分为以下类

顶点(vertex)片元(fragment)着色器工作原理简述

1. 顶点输入
        为了完成对于网格的绘制,需要收集网格的所有顶点信息(包括但不限于位置信息,uv,法线,顶点颜色等),然后逐一传递给顶点着色器.顶点信息可以没有uv,法线,顶点颜色等信息,但至少应该有顶点的位置信息,这样才能让顶点着色器在屏幕上完成顶点的绘制
2. 顶点处理
        顶点着色器接收到输入的顶点信息后,根据需求对顶点完成相应的处理,然后将处理的结果(包括可能出现的新的位置,新的uv等信息)打包输出(顶点输出)
3. 光栅化处理
        顶点着色器输出数据会进入到光栅化器(光栅化器是一种计算机硬件,可以根据一些规则,计算出屏幕中哪些像素将被几何形状覆盖),光栅器的首要任务就是查找出存在于几何体中的像素,其次是根据顶点着色器输出的信息,计算数据,然后传递给像素(片元)着色器
4.像素处理
        像素着色器接收到光栅化器的处理结果后,根据需求对像素完成相应的处理,然后输出处理的结果(包括像素的颜色和透明度信息).以便完成在屏幕上像素的最终绘制

上一篇 下一篇

猜你喜欢

热点阅读