OpenGL纹理上下颠倒翻转的三种解决办法
来源:互联网 发布:梳棉机工艺优化 编辑:程序博客网 时间:2024/04/25 10:11
综述
转载:http://blog.csdn.net/narutojzm1/article/details/51940817在使用OpenGL函数加载纹理到图形时,经常遇到纹理上下颠倒的问题。原因是因为OpenGL要求纹理坐标原点在图片最下面,如图:
而图片信息中的原点一般都在最上方,一行行记录下来的,就会导致整个图片上下颠倒了。
如图:
从这个思路触发共有三种办法解决问题:
一.翻转顶点信息中的纹理坐标
原始顶点如图:
因为纹理坐标的范围是0-1,所以翻转的话都统一用1去减
得到正确的图片:
二.翻转顶点Shader中的纹理坐标
基于方法一,更聪明的办法就是直接在Shader中翻转纹理Y轴坐标
三.翻转顶点
上面都是直接针对问题的解决办法,反其道而行之,我们也可以直接翻转顶点,这样纹理就正了:
在翻转顶点时,就不是直接对Y值用1去减,因为顶点的取值范围是-1 - 1 ,所以我们直接加上负号做翻转即可
这篇总结,参考了一个很好的OPENGL学习网站
https://learnopengl-cn.github.io/01%20Getting%20started/06%20Textures/,
大力推荐
0 0
- OpenGL纹理上下颠倒翻转的三种解决办法
- OpenGL纹理上下颠倒翻转的三种解决办法
- OpenGL纹理上下颠倒翻转的三种解决办法
- SDL与OpenGL配合使用时,OpenGL的纹理的UV坐标是上下颠倒的
- SDL与OpenGL配合使用时,OpenGL的纹理的UV坐标是上下颠倒的
- cocos2d-x 3D shader的纹理坐标是上下颠倒的
- OpenGL ES (一.绘制图片上下颠倒)
- 】OPENGL加载BMP纹理图的方式 三种
- OpenGL从图片文件加载Texture时的上下颠倒问题
- iOS开发与OpenGL ES 绘制图片上下颠倒
- 为什么镜子里的影像左右颠倒而不是上下颠倒
- Ctrl+Alt+上下键屏幕就颠倒 解决办法
- OpenGL中用bmp图片做纹理贴图的三种方法
- OpenGL实验(三)桌子的纹理 光照
- OPENGL的纹理(转)
- opengl的纹理
- opengl纹理的使用
- iOS开发与OpenGL ES相关问题整理(2)- 绘制图片上下颠倒
- 蛇形填数
- 【数值分析】插值算法-拉格朗日插值法
- 【bzoj2141】排队
- 设计模式之桥接模式Python实现
- 常用Makefile函数
- OpenGL纹理上下颠倒翻转的三种解决办法
- 深度学习 21天实站Caffe- 深度学习工具
- scikit-learn的基本用法(八)——模型保存与加载
- 模板:排序(一)
- Vue2.0过渡动画效果transition
- leetcode81Search in Rotated Sorted Array II
- 神经网络之感知器算法简单介绍和MATLAB简单实现
- C语言中结构体
- SVN的安装使用