[osg-users] Creating Texture2DArray

Bruno Oliveira bruno.manata.oliveira at gmail.com
Fri Oct 21 03:07:42 PDT 2016


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.messerschmidt at 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 at lists.openscenegraph.org
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>
>> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20161021/45298381/attachment-0003.htm>


More information about the osg-users mailing list