[osg-users] Support for sampler arrays
Sebastian Messerschmidt
sebastian.messerschmidt at gmx.de
Tue Mar 22 03:01:55 PDT 2016
Hi Chris,
Following Lionels reply I did a quick test which seems to work:
void addSamplerArray(osg::StateSet* ss)
{
osg::Uniform* uniform = new osg::Uniform(osg::Uniform::INT, "test",2);
uniform->setElement(0,0);
uniform->setElement(1,1);
osg::Texture2D* tex1 = new
osg::Texture2D(osgDB::readImageFile("./resources/textures/tex1.png"));
osg::Texture2D* tex2 = new
osg::Texture2D(osgDB::readImageFile("./resources/textures/tex2.png"));
ss->addUniform(uniform);
ss->setTextureAttributeAndModes(0, tex1, osg::StateAttribute::ON);
ss->setTextureAttributeAndModes(1, tex2, osg::StateAttribute::ON);
}
fragment shader:
#version 400 compatibility
uniform sampler2D test[2];
in vec2 texCoord;
void main()
{
gl_FragColor = texture2D(test[1], texCoord)*texture2D(test[0],
texCoord);
}
> Thanks, I'll have to think about whether it would be feasible for me to spend time in this project altering osg core..
>
> See i do like texture arrays, they would be ideal, except that I'm dealing with GIS data grids, so stretching/compressing them would lose information or memory space. I want to be able to store several grids of various sizes at the correct resolution, and be able to look up data from them programmatically in the shaders so I can superimpose data from one layer onto another etc.
I see. But be aware that dynamic access is not allowed in every case.
The value for the look up has some constraints:
[1] https://www.opengl.org/wiki/Data_Type_%28GLSL%29#Opaque_arrays
Cheers
Sebastian
>
> ------------------------
> http://www.hrwallingford.com/facilities/ship-simulation-centre (http://www.hrwallingford.com/facilities/ship-simulation-centre)
>
> ------------------
> Read this topic online here:
> http://forum.openscenegraph.org/viewtopic.php?p=66581#66581
>
>
>
>
>
> _______________________________________________
> 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