Hi Raul,

is it possible, that you extract that peace of code and post it here.
Maybe I would be able to find then the issue. On my side, texture arrays seems 
to work properly ;)

Best regards,
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: [EMAIL PROTECTED], "OpenSceneGraph Users" 
> <osg-users@lists.openscenegraph.org>
> Datum: Freitag, 16. Mai 2008, 21:26
> Yes I did but no luck I tried the program sean sent also.
> RJ
> 
> Art Tevs wrote:
> > 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
> >
> >
> >


      __________________________________________________________
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