OpenGL ES之5种纹理翻转策略

2019-06-20  本文已影响0人  jakeXu

最近用GLSL实现渲染图片,原始图片是正常显示的,但是渲染出来的是倒置的,通过查找许多资料才明白是因为手机的(0,0)点在左上角,纹理的(0,0)点在左下角,所以才会产生这样的问题,所以总结了下面5种纹理翻转方法供大家参考也方便后期查阅。

一、旋转顶点坐标
在顶点着色器中,将顶点坐标叉乘一个180度旋转矩阵。代码如下:

二、解压图片时改变图片坐标
加载纹理时,需要解压图片,此时通过平移缩放改变图片坐标,即可达成目的。相关代码如下:

三、改变纹素获取坐标
在片元着色器中,改变纹素获取的y值,即可达成目的。

四、改变纹理坐标
在顶点着色器中,改变纹理坐标的y值,即可达成目的。

五、直接改动纹理坐标数组
最复杂的方法,但是最容易想到的,就是在顶点、纹理坐标数组里改变纹理坐标值。

上一篇 下一篇

猜你喜欢

热点阅读