I'm trying to define a Texture2DArray. However, whenever I set the internal
texture format to a 32-bit floating point texture (eg. GL_RGBA32F_ARB,
GL_LUMINANCE_ALPHA32F_ARB, etc), I keep getting OpenGL compile errors:
>
> Warning: detected OpenGL error 'invalid enumerant' at
> StateSet::compileGLObejcts() compiling texture attribute
> GL Error when compiling Texture2DArray
>
Does the "GL_EXT_texture_array" extension support floating-point texture arrays?
I have a Quadro 5000 with 260.19.21 NVIDIA driver.
Here is how I'm setting up the Texture2DArray:
>
> osg::Texture2DArray *textureArray = new osg::Texture2DArray();
> textureArray->setTextureSize(width, height, depth);
>
> textureArray->setInternalFormatMode(osg::Texture2DArray::USE_IMAGE_DATA_FORMAT);
>
> textureArray->setFilter(osg::Texture2D::MIN_FILTER,osg::Texture2D::LINEAR_MIPMAP_LINEAR);
> textureArray->setFilter(osg::Texture2D::MAG_FILTER,osg::Texture2D::LINEAR);
> textureArray->setUseHardwareMipMapGeneration(true);
>
> for (uint32_t i = 0; i<depth; i++)
> {
> Filename filename = filenameArray[i]; // Read in a floating pt TIFF
> image.
> osg::ref_ptr<osg::Image> image = osgDB::readImageFile(filename.name());
> image->setInternalTextureFormat(GL_LUMINANCE_ALPHA32F_ARB);
> textureArray->setImage(i, image.get());
> }
>
Paul P.
------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=43482#43482
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org