Qt的pvr纹理实现的一个alpha显示不正常的解决方法
2015-01-23 18:18
369 查看
问题
项目中需要实现对pvr纹理的支持,但Qt自身不带。于是,自定义一个PvrTextureProvider,将PowerVR的官方代码整合进来。但是发现无论是pvrtc还是pvrtc2格式,都不能正确的显示alpha效果(并不是没有alpha效果,只是效果不正确)。
后来经过调查,发现:
Qt默认的texture shader处理都是假设纹理格式已经预乘了alpha值的。这样的默认实现导致pvr纹理显示出来效果不正常(PVR纹理没有预乘alpha)。因此需要修改shader。
解决方法
主要修改是在Qt的相关shader上加上下面一句代码:gl_FragColor = vec4(gl_FragColor.rgb * gl_FragColor.a, gl_FragColor.a);
相关文章推荐
- QT中 实现一个服务端接收两个客户端的解决方法
- Qt4.7程序烧写或者到开发板时,汉字不能正常显示的解决方法
- 开发板运行Qt应用程序时,字体显示不正常的解决方法
- Asp.net TreeView 显示不正常。 解决方法
- ExtJs TreePanel使用TreeLoader在IE下无法正常加载显示的解决方法
- alexa toolbar(工具条)下载安装后无法正常显示(显示白条)的解决方法
- Google map API在IE下无法正常显示的解决方法
- 不能正常显示“隐藏文件夹”的解决方法
- 安装intel c++8.0后导致vc6编译正常的项目链接失败的一个解决方法
- 关于ext2.2.1rdadio和checkbox不能正常显示的问题解决方法
- 多个DIV,显示一个,隐藏其他全部的实现方法
- 【Vegas原创】访问owa,图片和js脚本不能正常显示和使用的解决方法
- IIS启用Gzip压缩造成OpenFlashChart不能正常显示问题及解决方法
- apache与tomcat整合方法,解决图片无法正常显示--成功
- Vista系统下IE8有N个进程只显示一个的实现方法
- Firefox下无法正常显示年份的解决方法
- Visual Assist X在中文版VC2003中“Enhance Syntax Coloring”显示不正常的解决方法
- Windows Mobil中解决日期显示不正常的方法
- 某些开发版中的Qt Designer菜单等中文显示为乱码问题解决方法初探
- 解决QT4.3.5-X11和QtopiaCore-x86汉字不能正常显示的问题