Hi Terry,

I haven't tried this myself, but it wouldn't surprise me if implementations were
a bit shakey.

Do other texture lookup functions beside shadow2D() work (or at least not
crash)?  Or perhaps assign the specific sampler array element to a temporary
scalar sampler variable, etc.

Cheers
-- mew


Terry Welsh wrote:
> Hi,
> This is probably an OpenGL driver bug, but maybe I'm just setting
> something up wrong.  Has anyone else tried to use an array of samplers
> in a GLSL shader?  I'm setting up my array of samplers like this:
> 
>     shadowmapUniform = new Uniform(Uniform::SAMPLER_2D_SHADOW,
> "shadowmap", NUM_SHADOW_MAPS);
>     for(i=0; i<NUM_SHADOW_MAPS; i++){
>         sceneSS->setTextureAttributeAndModes(i+FIRST_SHADOW_TEX_UNIT,
> shadowmap[i].get(), StateAttribute::ON);
>         shadowmapUniform->setElement(i, i+FIRST_SHADOW_TEX_UNIT);
>     }
>     sceneSS->addUniform(shadowmapUniform.get());
> 
> The fragment shaders defines the samplers like this:
> 
>     uniform sampler2DShadow shadowmap[4];
> 
> And it accesses one of them like this:
> 
>     float shadow = shadow2D(shadowmap[0], lsPosition).r;
> 
> And then I get a segmentation fault.  If I don't call the shadow2D
> function in the shader, everything keeps running and I just don't get
> any shadows.  Has anyone else had any luck doing anything like this
> before, or does this look like a driver bug?  I'm using an NVidia 6800GT
> on Linux with the 8762 driver.
> -- 
> Terry Welsh - mogumbo 'at' gmail.com <http://gmail.com>
> www.reallyslick.com <http://www.reallyslick.com>  |   www.mogumbo.com
> <http://www.mogumbo.com>
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://openscenegraph.net/mailman/listinfo/osg-users
> http://www.openscenegraph.org/

_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to