Hi Bruno:
Sorry for not reading to the end:

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?
When using GL_LUMINCANE as internal formet the pixlel format needs to be GL_LUMINANCE4/8/12/16[F/I/UI] ...

So basically for default precision (GL_BYTE) it should be

GL_LUMINANCE8


Cheers
Sebastian


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


_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to