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