查看: 1065|回复: 3

glCompressedTexImage2DARB 绑定纹理的数据转换成 Image

[复制链接]

该用户从未签到

发表于 2013-12-12 17:45:15 | 显示全部楼层 |阅读模式
现在有一份数据,原来是通过glCompressedTexImage2DARB来绑定mipmap纹理的,现在想转换成osg,苦于不知道osg:image的setimage各变量如何与glCompressedTexImage2DARB中的变量相匹配。我搜索了论坛里面osg:image的setimage的参数的含义,但说的都不清楚,希望大神告诉我。
目前已知:
s image的宽度
t image的高度
r 什么含义?对于从256开始到1,共9个level的mipmap我填什么?
internalTextureformat 与glCompressedTexImage2DARB中的internalformat相同
pixelFormat 为像素格式,是否与上面的变量一致?
type 数据类型(int——GL_UNSIGNED_INT、float、byte)
data 从文件中读取的数据
mode 内存释放方式
packing 不知道是什么?

该用户从未签到

发表于 2013-12-13 10:59:18 | 显示全部楼层
r是纹理的深度,用于2DArray或者3D纹理,其他情况设置为1
internalTextureformat对应internalformat
pixelFormat对应format
type对应type
packing是数据在内存中的行对齐方式,一般都是1,如果数据存在整数对齐,那么设置为这个对齐的值
mipmap如果选择硬件生成,那么设置setFilter就可以了;如果要用自己的,那么可以参考以前我在《OSG三维渲染引擎设计与实践》中的一个例子

该用户从未签到

 楼主| 发表于 2013-12-13 11:07:33 | 显示全部楼层
array 发表于 2013-12-13 10:59
r是纹理的深度,用于2DArray或者3D纹理,其他情况设置为1
internalTextureformat对应internalformat
pixe ...

internalformat与pixelFormat的关系是什么?

该用户从未签到

发表于 2013-12-25 09:45:43 | 显示全部楼层
这是OpenGL的基础知识了,您可以搜索相关的文档解释。简单来说,internalFormat是对每个像素中分量的数量(例如4)和类型的补充说明(例如RGB32F,DEPTH_COMPONENT24),而pixelFormat是这个像素本身的格式说明(例如BGRA,DEPTH_COMPONENT)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表