OpenGL Chan视频学习-6 How Shaders Work in OpenGL
bilibili视频链接:
【最好的OpenGL教程之一】https://www.bilibili.com/video/BV1MJ411u7Bc?p=5&vd_source=44b77bde056381262ee55e448b9b1973
一、知识点整理
1.1 着色器
1.1.1 阐述
- 实际上是代码。需要告诉GPU发送数据要干啥,也是着色器的本质。
- 可以写成文本或者字符串给OpenGL,可以发送给显卡,然后像别的程序一样编译、链接和运行
- 在GPU上运行。一般CPU发送数据,GPU处理。GPU并行做和图形有关的事情会运行更快。
1.1.2分类
- 顶点着色器(常见)
- 片段着色器/像素着色器(常见)
- 细分着色器
- 几何着色器
1.1.3顶点着色器
获取想渲染的顶点的调用,告诉OpenGL想要的顶点你在显示器/窗口的位置。顶点着色器会带有值定在缓冲里面的顶点的属性。
1.1.4片段/像素着色器
可以认为是像素,窗口可以看成一个像素数组。片段着色器会为每个像素运行一次去光栅化(这里说的是画在屏幕上),其基本目的是决定像素的颜色,根据光照、环境、纹理以及提供给表面的材料。
顶点着色器调用3次,片段着色器调用成百上千次
1.2渲染管线
1.2.1过程
在CPU写数据(发送一个调用),发给GPU。进入着色阶段,GPU处理调用,并在屏幕绘制图形。