OpenGL ES2学习札记(9)- 转换矩阵

OpenGL ES2学习笔记(9)-- 转换矩阵线性代数是计算机图形学的一块基石,本篇文章总结如何在Shader中使用矩阵

OpenGL ES2学习笔记(9)-- 转换矩阵

线性代数是计算机图形学的一块基石,本篇文章总结如何在Shader中使用矩阵来移动、缩放和旋转顶点。

代码和效果

把下面的代码复制到OpenGL Console里:

Uniform

uniform相当于Shader程序的全局常量,也可以看做是Shader程序的参数,由Shader程序的使用者传入。我们在Vertex Shader程序的第一行定义了一个mat4(4x4矩阵)类型的uniform,并且在main()方法里将顶点位置和它相乘,这样就可以对顶点做mat4所代表的转换:


缩放矩阵

把前面代码里的移动矩阵改成缩放矩阵:


旋转矩阵

最后试试旋转矩阵: