Hi Raul,
 
have you tried the proposed changes by Sean (min/mag filters, at least 2 
layers, ...)?
 
Cheers,
Art
 
 

> --- Rahul Jain <[EMAIL PROTECTED]> schrieb am Fr,
> 16.5.2008:
> 
> > Von: Rahul Jain <[EMAIL PROTECTED]>
> > Betreff: Re: [osg-users] Texture2DArray shows up black
> > An: "OpenSceneGraph Users"
> <osg-users@lists.openscenegraph.org>
> > Datum: Freitag, 16. Mai 2008, 16:29
> > Hi Sean and all,
> > I am  facing the same problem as yours on my G80 card
> on
> > windows as well
> > as linux. I also tried your code
> > but the results are all same. I am linking with OSG2.4
> > libs. What can be
> > wrong
> > Cheers
> > RJ
> > 
> > Sean Carmody wrote:
> > > Art,
> > >
> > > Thanks a lot, I've made the change you
> suggested. 
> > Also, as it turns
> > > out, I had a number of
> > > other things preventing my sample program from
> > working.  I needed to add
> > >
> > >
> >
> textureArray->setFilter(osg::Texture2DArray::MIN_FILTER,
> > > osg::Texture2DArray::NEAREST);
> > >
> >
> textureArray->setFilter(osg::Texture2DArray::MAG_FILTER,
> > > osg::Texture2DArray::NEAREST);
> > >
> > > otherwise I was getting a warning:
> > >
> > > 'Warning:
> > Texture2DArray::applyTexImage2DArray_subload(..)
> automagic
> > > mipmap generation
> > > is currently not implemented.'
> > >
> > > which resulted in nothing but black. 
> Furthermore, I
> > guess it is a
> > > requirement that you have at
> > > least two layers (of course you wouldn't be
> using
> > a texture array
> > > unless you had more than one
> > > layer).  By adding a second image to the
> > Texture2DArray, it showed up
> > > (even though I'm still
> > > only reading from the first layer in my shader). 
> > I'm not sure if this
> > > is the intended behavior, but
> > > it seems to be the case.
> > >
> > > Thank you again.  I've attached my sample
> program
> > just in case someone
> > > else is having trouble
> > > getting Texture2DArray to work.
> > >
> > > -Sean
> > >
> > >
> > >
> > > > Date: Mon, 25 Feb 2008 20:08:17 +0100
> > > > From: [EMAIL PROTECTED]
> > > > To: osg-users@lists.openscenegraph.org
> > > > Subject: Re: [osg-users] Texture2DArray
> shows up
> > black
> > > >
> > > > Hi Sean,
> > > >
> > > > as far as I see you have an error in your
> setup.
> > This
> > > > line:
> > > >
> > > > ref_ptr<Uniform> texturesUniform = new
> > > > Uniform(Uniform::FLOAT,
> > > > 'textures', 1);
> > > >
> > > >
> > > >
> > > > must be replaced with something like this:
> > > >
> > > > ref_ptr<Uniform> texturesUniform = new
> > > > Uniform(Uniform::SAMPLER_2D_ARRAY,
> > > > 'textures', 0);
> > > >
> > > >
> > > > Try this out.
> > > >
> > > > Cheers,
> > > > Art
> > > >
> > > >
> > > > --- Sean Carmody <[EMAIL PROTECTED]>
> > schrieb:
> > > >
> > > > >
> > > > > Hi Art,
> > > > >
> > > > > Thanks for the idea. I do have a
> Geforce
> > 8800, and
> > > > > the extensions are reported as being
> > supported.
> > > > > I've attached a very simple program
> > (shaders inlined
> > > > > in the code) which shows my setup, if
> anyone
> > > > > is interested. Thanks.
> > > > >
> > > > > -Sean
> > > > >
> > > > >
> > > > > > Date: Mon, 25 Feb 2008 13:27:55
> +0100
> > > > > > From: [EMAIL PROTECTED]
> > > > > > To:
> osg-users@lists.openscenegraph.org
> > > > > > Subject: Re: [osg-users]
> Texture2DArray
> > shows up
> > > > > black
> > > > > >
> > > > > > Hi Sean,
> > > > > >
> > > > > > which graphic card do you have?
> > Texture2DArray do
> > > > > only
> > > > > > work fine with G80 chips. I have
> never
> > tested it
> > > > > on
> > > > > > current ATI chips.
> > > > > >
> > > > > > Best,
> > > > > > Art
> > > > > >
> > > > > >
> > > > > > --- Sean Carmody
> > <[EMAIL PROTECTED]> schrieb:
> > > > > >
> > > > > > >
> > > > > > > Hi All,
> > > > > > >
> > > > > > > I'm trying to get
> > Texture2DArrays working, but
> > > > > am
> > > > > > > having some trouble. My
> textures
> > always show up
> > > > > > > black. I'm setting up the
> > texture array as
> > > > > follows
> > > > > > >
> > > > > > > ref_ptr<Texture2DArray>
> > textureArray = new
> > > > > > > Texture2DArray;
> > > > > > >
> > textureArray->setTextureDepth(1);
> > > > > > > Image* image =
> > > > > > >
> > osgDB::readImageFile('media/skymap.tga');
> > > > > > > textureArray->setImage(0,
> > image);
> > > > > > >
> > stateSet->setTextureAttribute(0,
> > > > > > > textureArray.get(),
> > osg::StateAttribute::ON);
> > > > > > >
> > > > > > > and trying to read it in the
> > shader.
> > > > > > >
> > > > > > > #version 120
> > > > > > > #extension GL_EXT_gpu_shader4
> :
> > enable
> > > > > > >
> > > > > > > uniform sampler2DArray
> > rainTextures;
> > > > > > >
> > > > > > > void main()
> > > > > > > {
> > > > > > > gl_FragColor =
> > > > > texture2DArray(rainTextures,
> > > > > > > vec3(gl_TexCoord[0].st, 0));
> > > > > > > }
> > > > > > >
> > > > > > > Now, if I switch out the
> > Texture2DArray with a
> > > > > > > normal Texture2D (and update
> the
> > shader
> > > > > accordingly)
> > > > > > > it shows up fine, which leads
> me
> > to believe the
> > > > > rest
> > > > > > > of the app is working.
> I'm
> > pretty new to OSG
> > > > > and so
> > > > > > > am wondering if I missed
> something
> > obvious with
> > > > > the
> > > > > > > setup of the Texture2DArray.
> > Thanks!
> > > > > > >
> > > > > > > -Sean
> > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> >
> _________________________________________________________________
> > > > > > > Shed those extra pounds with
> MSN
> > and The Biggest
> > > > > > > Loser!
> > > > > > >
> http://biggestloser.msn.com/>
> > > > > >
> > _______________________________________________
> > > > > > > osg-users mailing list
> > > > > > >
> osg-users@lists.openscenegraph.org
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > Lesen Sie Ihre E-Mails jetzt
> einfach
> > von
> > > > > unterwegs.
> > > > > > www.yahoo.de/go
> > > > > >
> > _______________________________________________
> > > > > > osg-users mailing list
> > > > > > osg-users@lists.openscenegraph.org
> > > > > >
> > > > >
> > > >
> > >
> >
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> > > > >
> > > > >
> > > >
> >
> _________________________________________________________________
> > > > > Need to know the score, the latest
> news, or
> > you need
> > > > > your HotmailĀ®-get your 'fix'.
> > > > >
> http://www.msnmobilefix.com/Default.aspx>
> > #include
> > > > <osg/Group>
> > > > > #include <osg/Geode>
> > > > > #include <osg/ShapeDrawable>
> > > > > #include <osg/Node>
> > > > > #include <osgViewer/Viewer>
> > > > > #include <osg/Texture2DArray>
> > > > > #include <osgDB/ReadFile>
> > > > > #include <string>
> > > > >
> > > > > using namespace osg;
> > > > >
> > > > > void applyShader(Geode* geode)
> > > > > {
> > > > > ref_ptr<Program> program = new
> > Program;
> > > > >
> program->setName('TexturesTest');
> > > > > ref_ptr<Shader> vertObj = new
> > > > > Shader(Shader::VERTEX);
> > > > > ref_ptr<Shader> fragObj = new
> > > > > Shader(Shader::FRAGMENT);
> > > > >
> > > > > program->addShader(vertObj.get());
> > > > > program->addShader(fragObj.get());
> > > > >
> > > > > ref_ptr<StateSet> stateSet = new
> > osg::StateSet;
> > > > > ref_ptr<Uniform> texturesUniform
> = new
> > > > > Uniform(Uniform::FLOAT,
> 'textures',
> > 1);
> > > > >
> > stateSet->addUniform(texturesUniform.get());
> > > > >
> > stateSet->setAttributeAndModes(program.get(),
> > > > > StateAttribute::ON);
> > > > >
> > > > > ref_ptr<Texture2DArray>
> textureArray =
> > new
> > > > > Texture2DArray;
> > > > > textureArray->setTextureDepth(1);
> > > > > Image* image =
> > > > >
> >
> osgDB::readImageFile('Images/Brick-Std-Orange.TGA');
> > > > > textureArray->setImage(0, image);
> > > > > stateSet->setTextureAttribute(0,
> > > > > textureArray.get(),
> > osg::StateAttribute::ON);
> > > > >
> > > > > std::string vertSource =
> > > > > 'void main()'
> > > > > '{'
> > > > > 'gl_TexCoord[0].st =
> > gl_MultiTexCoord0.st;'
> > > > > 'gl_Position = ftransform();'
> > > > > '}';
> > > > >
> vertObj->setShaderSource(vertSource);
> > > > >
> > > > > std::string fragSource =
> > > > > '#version 120\n'
> > > > > '#extension GL_EXT_gpu_shader4 :
> > enable\n'
> > > > > ''
> > > > > 'uniform sampler2DArray
> textures;'
> > > > > ''
> > > > > 'void main()'
> > > > > '{'
> > > > > 'gl_FragColor =
> texture2DArray(textures,
> > > > > vec3(gl_TexCoord[0].xy, 0));'
> > > > > '}';
> > > > >
> fragObj->setShaderSource(fragSource);
> > > > >
> > > > > geode->setStateSet(stateSet.get());
> > > > > }
> > > > >
> > > > > int main(int argc, char** argv)
> > > > > {
> > > > > setNotifyLevel(osg::DEBUG_INFO);
> > > > >
> > > > > // Create a cube
> > > > > ref_ptr<Group> rootNode = new
> Group;
> > > > > Box* cube = new Box(Vec3(0,0,0), 1.0f);
> > > > > ShapeDrawable* drawable = new
> > ShapeDrawable(cube);
> > > > > Geode* geode = new Geode();
> > > > > geode->addDrawable(drawable);
> > > > > rootNode->addChild(geode);
> > > > >
> > > > > // Apply our shader to this cube
> > > > > applyShader(geode);
> > > > >
> > > > > osgViewer::Viewer viewer;
> > > > > viewer.setSceneData(rootNode.get());
> > > > > return viewer.run();
> > > > > }
> > > > > >
> > _______________________________________________
> > > > > osg-users mailing list
> > > > > osg-users@lists.openscenegraph.org
> > > > >
> > > >
> > >
> >
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> > > > >
> > > >
> > > >
> > > >
> > > > Lesen Sie Ihre E-Mails auf dem Handy.
> > > > www.yahoo.de/go
> > > >
> _______________________________________________
> > > > osg-users mailing list
> > > > osg-users@lists.openscenegraph.org
> > > >
> > >
> >
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> > >
> > >
> >
> ------------------------------------------------------------------------
> > > Connect and share in new ways with Windows Live.
> Get
> > it now!
> > >
> >
> <http://www.windowslive.com/share.html?ocid=TXT_TAGHM_Wave2_sharelife_012008>
> > >
> > >
> >
> ------------------------------------------------------------------------
> > >
> > > _______________________________________________
> > > osg-users mailing list
> > > osg-users@lists.openscenegraph.org
> > >
> >
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> > 
> > _______________________________________________
> > osg-users mailing list
> > osg-users@lists.openscenegraph.org
> >
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> 
> 
>      
> __________________________________________________________
> Gesendet von Yahoo! Mail.
> Dem pfiffigeren Posteingang.
> http://de.overview.mail.yahoo.com


      __________________________________________________________
Gesendet von Yahoo! Mail.
Dem pfiffigeren Posteingang.
http://de.overview.mail.yahoo.com
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to