OpenGL纹理上下颠倒翻转的三种解决办法(转)
綜述
在使用OpenGL函數(shù)加載紋理到圖形時(shí),經(jīng)常遇到紋理上下顛倒的問題。原因是因?yàn)镺penGL要求紋理坐標(biāo)原點(diǎn)在圖片最下面,如圖:?
?
而圖片信息中的原點(diǎn)一般都在最上方,一行行記錄下來的,就會(huì)導(dǎo)致整個(gè)圖片上下顛倒了。?
如圖:?
?
從這個(gè)思路觸發(fā)共有三種辦法解決問題:
一.翻轉(zhuǎn)頂點(diǎn)信息中的紋理坐標(biāo)
原始頂點(diǎn)如圖:?
?
?
因?yàn)榧y理坐標(biāo)的范圍是0-1,所以翻轉(zhuǎn)的話都統(tǒng)一用1去減?
得到正確的圖片:?
?
二.翻轉(zhuǎn)頂點(diǎn)Shader中的紋理坐標(biāo)
基于方法一,更聰明的辦法就是直接在Shader中翻轉(zhuǎn)紋理Y軸坐標(biāo)?
三.翻轉(zhuǎn)頂點(diǎn)
上面都是直接針對(duì)問題的解決辦法,反其道而行之,我們也可以直接翻轉(zhuǎn)頂點(diǎn),這樣紋理就正了:?
?
在翻轉(zhuǎn)頂點(diǎn)時(shí),就不是直接對(duì)Y值用1去減,因?yàn)轫旤c(diǎn)的取值范圍是-1 - 1 ,所以我們直接加上負(fù)號(hào)做翻轉(zhuǎn)即可
這篇總結(jié),參考了一個(gè)很好的OPENGL學(xué)習(xí)網(wǎng)站?
https://learnopengl-cn.github.io/01%20Getting%20started/06%20Textures/,?
大力推薦
來源:?http://blog.csdn.net/narutojzm1/article/details/51940817
轉(zhuǎn)載于:https://www.cnblogs.com/bokeofzp/p/5967512.html
總結(jié)
以上是生活随笔為你收集整理的OpenGL纹理上下颠倒翻转的三种解决办法(转)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 089-袁佳鹏-实验报告1
- 下一篇: 【fjwc2015】世界树