[osg-users] Creating Texture2DArray

Glenn Waldron gwaldron at gmail.com
Fri Oct 21 04:25:42 PDT 2016


Bruno, I think you have those reversed.

On Oct 21, 2016 6:07 AM, "Bruno Oliveira" <bruno.manata.oliveira at 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.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-opens
>>> cenegraph.org
>>>
>>> _______________________________________________
>> 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/ccd78203/attachment-0003.htm>


More information about the osg-users mailing list