Bruno, I think you have those reversed. On Oct 21, 2016 6:07 AM, "Bruno Oliveira" <bruno.manata.olive...@gmail.com> wrote:
> Hello, > > thank you for your answer. I am indeed using the same texture sizes and > formats. > If I use GL_LUMINANCE8 as pixelFormat and GL_LUMINANCE as internalFormat, > I get a "invalid enumerant" error > > 2016-10-21 7:56 GMT+01:00 Sebastian Messerschmidt < > sebastian.messerschm...@gmx.de>: > >> >> 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 >>> osg-users@lists.openscenegraph.org >>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-opens >>> cenegraph.org >>> >>> _______________________________________________ >> osg-users mailing list >> osg-users@lists.openscenegraph.org >> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >> > > > _______________________________________________ > osg-users mailing list > osg-users@lists.openscenegraph.org > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > >
_______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org