here it is:
http://www.openscenegraph.org/projects/osg/wiki/Support/Tutorials/ShadersUpdating


ledocc wrote:
> Hi Nan
> 
> Can you provide link of tutorial you are talking about ?
> 
> Cheer
> David Callu
> 
> 
> 2011/5/4 Nan WANG < ()>
> 
> > Hello everyone:
> > 
> > i have a question regarding how to pass texture to shader
> > 
> > There were some code in the tutorial, such as:
> > 
> > 
> > Code:
> > 
> >      bumpMapProgramObject->addShader( bumpFragmentObject );
> >       bumpMapProgramObject->addShader( bumpVertexObject );
> > 
> >       osg::Uniform* lightPosU =
> >          new osg::Uniform("LightPosition",osg::Vec3(0,0,1));
> >       osg::Uniform* normalMapU = new osg::Uniform("normalMap",1);
> >       osg::Uniform* baseTextureU = new osg::Uniform("baseTexture",0);
> > 
> >       bumpMapState->addUniform(lightPosU);
> >       bumpMapState->addUniform(normalMapU);
> >       bumpMapState->addUniform(baseTextureU);
> >       lightPosU->setUpdateCallback(new updateBumpShader() );
> > 
> >       bumpMapState->setAttributeAndModes
> >          (bumpMapProgramObject, osg::StateAttribute::ON);
> > 
> >       osg::Texture2D* tankBodyNormalMap = new osg::Texture2D;
> >       tankBodyNormalMap->setDataVariance(osg::Object::DYNAMIC);
> >       osg::Image* tankBody = osgDB::readImageFile("TankBump.png");
> >       if (!tankBody)
> >       {
> >          std::cout << " couldn't find texture, quiting." << std::endl;
> >          return -1;
> >       }
> > 
> >       tankBodyNormalMap->setImage(tankBody);
> >       bumpMapState->setTextureAttributeAndModes
> >          (1,tankBodyNormalMap,osg::StateAttribute::ON);
> > 
> > 
> > 
> > 
> > Here, the example creates
> >  osg::Uniform* normalMapU = new osg::Uniform("normalMap",1);
> > 
> > '1'is the initial value of normalMap? how to link to texture unit in shader?
> > 
> > using (Am I right?)
> > 
> >       bumpMapState->setTextureAttributeAndModes
> > (1,tankBodyNormalMap,osg::StateAttribute::ON);
> > 
> > 
> > here the value of first parameter should be the same as initial value in 
> > the 'new osg::Uniform("normalMap",1);'
> > 
> > and the way to have the 'tankBodyNormalMap' in bumpmap.vert, using
> > gl_MultiTexCoord0 or gl_MultiTexCoord1?
> > 
> > where we can find  bumpmap.vert?
> > 
> > Thank you!
> > 
> > Cheers,
> > Nan
> > 
> > ------------------
> > Read this topic online here:
> > http://forum.openscenegraph.org/viewtopic.php?p=38982#38982 
> > (http://forum.openscenegraph.org/viewtopic.php?p=38982#38982)
> > 
> > 
> > 
> > 
> > 
> > _______________________________________________
> > osg-users mailing list
> >  ()
> > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org 
> > (http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org)
> > 
> 
> 
>  ------------------
> Post generated by Mail2Forum


------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=38985#38985





_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to