[osg-users] Creating Texture2DArray
Sebastian Messerschmidt
sebastian.messerschmidt at gmx.de
Fri Oct 21 06:03:39 PDT 2016
Hi Bruno,
> How do I guarantee that my textures will be unsigned integer 8bit texels
> with no scaling nor normalization to float or whatsoever? Because using
> GL_LUMINANCE is distupring my textures
GL_LUMINANCE8UI should do the trick. You need use a the correct
sampler/data-type in the shader too (usampler and uvec)
Cheers
Sebatian
>
> 2016-10-21 13:47 GMT+01:00 Glenn Waldron <gwaldron at gmail.com
> <mailto:gwaldron at gmail.com>>:
>
> I mean that GL_LUMINANCE is a valid pixel format, and GL_LUMINANCE8
> is an internal format. GL_LUMINANCE8 is not a valid pixel format and
> will probably give you a invalid enumerant error.
>
>
>
> Glenn Waldron
>
> On Fri, Oct 21, 2016 at 8:03 AM, Bruno Oliveira
> <bruno.manata.oliveira at gmail.com
> <mailto:bruno.manata.oliveira at gmail.com>> wrote:
>
> Sorry Glenn what do you mean by "those reserved"?
>
>
> By the way, my intention is to pass uchar textures of fixed
> size, to perform texelFetch and bitwise operations inside a
> shader, so I really need my textures to be in the exact format
> of unsigned byte integer, single channel!
>
> 2016-10-21 12:25 GMT+01:00 Glenn Waldron <gwaldron at gmail.com
> <mailto:gwaldron at gmail.com>>:
>
> Bruno, I think you have those reversed.
>
>
> On Oct 21, 2016 6:07 AM, "Bruno Oliveira"
> <bruno.manata.oliveira at gmail.com
> <mailto: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
> <mailto: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
> <mailto:osg-users at lists.openscenegraph.org>
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> <http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org>
>
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
> <mailto:osg-users at lists.openscenegraph.org>
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> <http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org>
>
>
>
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
> <mailto:osg-users at lists.openscenegraph.org>
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> <http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org>
>
>
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
> <mailto:osg-users at lists.openscenegraph.org>
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> <http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org>
>
>
>
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
> <mailto:osg-users at lists.openscenegraph.org>
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> <http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org>
>
>
>
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
> <mailto:osg-users at lists.openscenegraph.org>
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-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
>
More information about the osg-users
mailing list