查看: 1944|回复: 3

二维纹理数组的问题

[复制链接]

该用户从未签到

发表于 2012-9-29 08:32:42 | 显示全部楼层 |阅读模式
那位大哥用过osg::Texture2DArray阿,我怎么调用这个
          const osg::GraphicsContext *context = m_viewer->getCamera()->getGraphicsContext();
            const   osg::State*   state = context->getState();
            osg::ref_ptr<osg::Texture2DArray> m_texture2dArray = new osg::Texture2DArray;
            osg::Texture2DArray::Extensions* ext = m_texture2dArray->getExtensions(state->getContextID(),false);
            
            ext->glTexSubImage3D(GL_TEXTURE_2D_ARRAY_EXT, 0, 0, 0, i*cols+j, tileWidth, tileHeight, 1, GL_RGB, GL_UNSIGNED_BYTE, pData);
就会给出下面的错误:
undefined reference to `osg::Texture2DArray::Extensions::__glewTexSubImage3D(unsigned int, int, int, int, int, int, int, int, unsigned int, unsigned int, void const*) const'


单独使用,不用二维纹理数组来调
glTexSubImage3D(GL_TEXTURE_2D_ARRAY_EXT, 0, 0, 0, i*cols+j, tileWidth, tileHeight, 1, GL_RGB, GL_UNSIGNED_BYTE, pData);
没有问题,谁能告诉我这个是怎么回事呢。

该用户从未签到

发表于 2012-9-29 09:44:29 | 显示全部楼层
osg::Texture2DArray::Extensions* ext = m_texture2dArray->getExtensions(state->getContextID(),true);

该用户从未签到

 楼主| 发表于 2012-9-29 10:34:31 | 显示全部楼层
本帖最后由 fdp0525 于 2012-9-29 10:35 编辑

谢谢阿 可是改了也是一样的问题阿
const osg::GraphicsContext *context = m_viewer->getCamera()->getGraphicsContext();
            const   osg::State*   state = context->getState();
            osg::ref_ptr<osg::Texture2DArray> m_texture2dArray = new osg::Texture2DArray;
            osg::Texture2DArray::Extensions* ext = m_texture2dArray->getExtensions(state->getContextID(),true);
           
            ext->glTexSubImage3D(GL_TEXTURE_2D_ARRAY_EXT, 0, 0, 0, i*cols+j, tileWidth, tileHeight, 1, GL_RGB, GL_UNSIGNED_BYTE, pData);

加上
           ext->setupGLExtensions(state->getContextID());
也一样阿阿

该用户从未签到

发表于 2012-10-8 10:00:01 | 显示全部楼层
您为什么要这么做?直接设置setImage()就可以了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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