shader是一段跑在GPU上的程序。
什么是vertex shader 什么是 fragment shader(又称pixel shader),作用:
vertex shader:告诉显卡点应该被画在什么位置,对每一个顶点(这些顶点可能有很多属性(纹理,法线等等),也可能只有最基本的位置属性),假设有三个顶点,那么就应该被调用3次。
例如在写Shader的时候,会将MVP矩阵和每一个顶点的坐标左乘:
fragment shader(pixel shader):对每一个需要渲染的像素运行fragment shader,设置像素的颜色,并最终渲染在屏幕上,每个pixel都需要调用一次。
例如进行纹理贴图的时候,每一个像素都需要从传入GPU的纹理图像上采样,得到pixel 对应的 color: