MyGUI 中RTT 纹理在OSG中显示发转的问题
来源:互联网 发布:微信公众号支付java 编辑:程序博客网 时间:2024/04/29 20:51
这几天在研究MyGUI中RTT后纹理在OSG中贴图,经过一番研究,发现在OSG中是反转的,百思不得其解
中间是MyGUI RTT后在MyGUI中的显示,右面是MyGUI后在OSG中的显示,可以看出其实就是纹理坐标V反了。
开始各种搜,以为是MyGUI RTT
知道原因后,我就改为了正常的(-1,1),的确,是这句的原因,在OSG里面显示正常了,但MyGUI中显示反了。果然人家的代码还是不要轻易改啊!
本来找到问题后,我在OSG端发转一下就完事了,但是为何MyGUI会这样弄呢,它又是怎么反回去的,初始想到的肯定就是它在某处自己反转了一下像素,但是不对啊,这是RTT的,是存在GPU端的,不会读出来改了再存进去吧!那肯定就是纹理坐标的问题了,果然我找出了一些依据
在MyGUI_CommonStateInfo.h中45行(CoordConverter::convertTextureCoord(coord,size);)在MyGUI_CoordConvert.h 20-28行
static FloatRect convertTextureCoord(const IntCoord& _coord,const IntSize& _textureSize)
看到了吧,由于MyGUI是把左上角点当成原点,所以左上角纹理坐标为(0,0),右下角为(1,1),v坐标刚好与我们在OSG、OpenGL中相反,MyGUI为什么这样弄的原因,我想应该是读取图片时候读取顺序的问题,它应该是从上往下,从左到右读取了直接顺序存储了,所以左上点就是原点。到底是不是,由于时间关系,就不去追究了,唉,又周五了,怎么向头汇报工作呢,都倒腾这些东西了。。。。
- MyGUI 中RTT 纹理在OSG中显示发转的问题
- MyGUI RTT到OSG Widget点选实现
- osg RTT 渲染到纹理
- OSG RTT 渲染到纹理
- OSG在VS2010中使用的问题
- 解决QT中文字符串在osg中显示乱码的问题
- 解决QT中文字符串在osg中显示乱码的问题
- OSG不能显示中文字的问题(一)
- OSG不能显示中文字的问题(二)
- 两种提取OSG中纹理坐标的方法
- OSG中几何数据的更新显示
- OSG学习笔记14-快速构建视图的窗口设备(OSG程序在窗口中显示)
- MyGUI 的中文显示
- osg中的RTT导航图问题
- osg 中显示中文字符出现乱码问题
- OSG在同一视图中显示来自不同来源的多个模型节点文件
- OSG中LabelControl中文显示
- MYGUI在win7下的中文完美输入及其显示
- C++ Find Min and Max element in a BST
- VS2008+OpenGL环境下MyGUI编译
- MyGUI 学习(1)
- MyGUI ogre UnitTest_Layer例子运行问题(主要是分辨率设置问题)
- 宏定义中的 #和##
- MyGUI 中RTT 纹理在OSG中显示发转的问题
- MyGUI RTT到OSG Widget点选实现
- CSS常用属性和值
- LightOJ--1089 - Points in Segments (II)
- 【斐波那契】
- Android中SQLite之SQLiteOpenHelper详解
- SQL Server两种分页的存储过程介绍
- LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- 解:对url网址编码后解码 20140720 ①文本处理