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