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 <[email protected]
<mailto:[email protected]>>:

    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
    <[email protected]
    <mailto:[email protected]>> 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 <[email protected]
        <mailto:[email protected]>>:

            Bruno, I think you have those reversed.


            On Oct 21, 2016 6:07 AM, "Bruno Oliveira"
            <[email protected]
            <mailto:[email protected]>> 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
                <[email protected]
                <mailto:[email protected]>>:


                    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]
                        <mailto:[email protected]>
                        
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
                        
<http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org>

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



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


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



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



    _______________________________________________
    osg-users mailing list
    [email protected]
    <mailto:[email protected]>
    http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
    <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

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

Reply via email to