[osg-users] Creating Texture2DArray

Bruno Oliveira bruno.manata.oliveira at gmail.com
Thu Oct 20 14:00:30 PDT 2016


Hello,

I'm trying to create a Texture2DArray. My textures are uchar images with
size (texWidth, 256), single channel. The combination of texture
internalFormat and pixelFormat with pixelType is not working. I use GL_R8UI
for internalFormat, GL_RED_INTEGER for pixelFormat and GL_UNSIGNED_BYTE for
type. This yields the following error when I try to render my scene:

*Warning: detected OpenGL error 'invalid enumerant' at after
RenderBin::draw(..)*

However, if I use GL_LUMINANCE for internalFormat and also GL_LUMINANCE for
pixelFormat, I get no errors but my textures are not correctly sized. WHat
formats should I use here?

This is my code:



osg::ref_ptr<osg::Texture2DArray> texture = new osg::Texture2DArray;
texture->setFilter(osg::Texture2DArray::MIN_FILTER,
osg::Texture2DArray::LINEAR);
texture->setFilter(osg::Texture2DArray::MAG_FILTER,
osg::Texture2DArray::LINEAR);
texture->setWrap(osg::Texture2DArray::WRAP_R, osg::Texture2DArray::REPEAT);
 texture->setInternalFormat(*textureFormat()*);


// Add some images as follows:
for (...) {

 osg::Image* image = new osg::Image;
image->setImage(texWidth, 256, 1, *textureFormat(), pixelFormat(), type(),*
dataPtr);

texture->setImage(i, image);
}


I am using:
textureFormat() = GL_R8UI;
pixelFormat() = GL_RED_INTEGER;
type() = GL_UNSIGNED_BYTE
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20161020/6136f080/attachment-0002.htm>


More information about the osg-users mailing list