Hi Rahul,

so the patch is submitted. Check it out. On my machine, your example now works 
like a charm. Oh, yes, you can use every mig/mag filter (i.e. nearest or 
linear) except of mipmapped (e.g. NEAREST_MIPMAP_LINEAR), because it require to 
generate some mipmap data, which is currently not implemented.

Cheers,
Art



--- Rahul Jain <[EMAIL PROTECTED]> schrieb am Sa, 17.5.2008:

> Von: Rahul Jain <[EMAIL PROTECTED]>
> Betreff: Re: [osg-users] Texture2DArray shows up black (WARN: A bug in 
> implementation)
> An: [EMAIL PROTECTED]
> CC: "OpenSceneGraph Users" <osg-users@lists.openscenegraph.org>
> Datum: Samstag, 17. Mai 2008, 13:20
> Thanks Art,
> I  am looking forward  for the patch and will definitely
> keep an eye on
> the osg-submissions list.
> cheers
> RJ
> 
> Art Tevs wrote:
> > Hi Raul,
> >
> > OK, I see the problem. In my case your code just work
> almost fine (I can see the loaded image). However I found a
> bug in the osg support for texture arrays. The problem is
> that the images are not correctly uploaded to the texture
> (as soon as you are using more than one). As for my self, I
> have only used texture arrays by creating them on the fly
> (without image data). As for uploading images, I
> haven't tested it excesively.
> >
> > I will try to prepare a patch, which will solve the
> problem. Hence, just be patient and take a look into
> osg-submissions list ;)
> >
> > Best regards,
> > Art
> >
> >
> >
> >
> > --- Rahul Jain <[EMAIL PROTECTED]> schrieb am
> Sa, 17.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: Samstag, 17. Mai 2008, 8:44
> >> Hi Art,
> >> Here is the code.
> >> cheers
> >> RJ
> >> Art Tevs wrote:
> >>     
> >>> 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
> >>     
> >>> #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::SAMPLER_2D_ARRAY,
> "textures",
> >> 0);
> >>    stateSet->addUniform(texturesUniform.get());
> >>    stateSet->setAttributeAndModes(program.get(),
> >> StateAttribute::ON);
> >>
> >>    ref_ptr<Texture2DArray> textureArray = new
> >> Texture2DArray;
> >>
>       textureArray->setFilter(osg::Texture2DArray::MIN_FILTER,
> >> osg::Texture2DArray::NEAREST);
> >>        
> >>
> textureArray->setFilter(osg::Texture2DArray::MAG_FILTER,
> >> osg::Texture2DArray::NEAREST);
> >>    textureArray->setTextureDepth(2);
> >>    Image* image =
> >>
> osgDB::readImageFile("~/Images/phadke.jpg");
> >>    textureArray->setImage(0, image);
> >>    textureArray->setImage(1, 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();
> >> }
> >>     
> >
> >
> >      
> __________________________________________________________
> > 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