![d2b2b9057e56fe1bcd04f831fbc4f92a.png](https://i-blog.csdnimg.cn/blog_migrate/d3babb258022d9c96a140328720b7b9a.jpeg)
OpenGL2------使用OpenGL绘制
1. 使用Shader
1.1 顶点着色器(VertexShader)
顶点着色器主要用于控制顶点的空间转换和顶点属性的计算,渲染管线会将顶点着色器输出的顶点位置传递给光栅化阶段进行光栅化处理。当然处理对顶点进行空间转换外还可以将一些在CPU中的计算移入顶点着色器(GPU计算)以获得性能提升。如:例子特效中的粒子运动,骨骼动画中的骨骼位置信息等。当然在引入高级Shader计算着色器后在计算着色器中处理也可能是更合适的旋转。如下图为最简单的顶点着色器代码:
![a949c1d1d88f23dce77caefb9da4faaa.png](https://i-blog.csdnimg.cn/blog_migrate/52d8adefe4cd93aad69f76ecbac35c28.jpeg)
其功能非常简单就是将从主机(CPU)传入的顶点数据直接传入光栅化阶段。上图中标记了着色器的基本语法和用法。
1.2 片元着色器(FragmentShader)
片元着色器主要作用是以光栅化后的数据计算出每个像素的颜色值。以下为最简单的片元着色器,将每个像素设为固定的颜色值: