[osg-users] Using multiples texture for a geometry
    Florian GOLESTIN 
    florian.golestin at gmail.com
       
    Wed May  4 14:03:15 PDT 2016
    
    
  
Hi Robert,
I tried without the SmoothingVisitor but it does not change anything.
However during my tests today I put a "Axes" object (the axes.osgt model from the OpenSceneGraph examples) and some part of the texture on the block below the object just appeared but really dark.
So it it make me think that it's not a texture problem but maybe a light problem.
I've tried then to use a full ambiant light:
Code:
osg::ref_ptr<osg::Node> createLightSource( unsigned int num,
			      const osg::Vec3& trans,
			      const osg::Vec4& color )
{
  osg::ref_ptr<osg::Light> light = new osg::Light;
  light->setLightNum( num );
  light->setDiffuse( color );
  /* full scene lightened: */
  light->setAmbient(osg::Vec4(1.0,1.0,1.0,1.0));
  light->setSpecular(osg::Vec4(1,1,1,1));  // some examples don't have this one
  
  light->setPosition( osg::Vec4(0.0f, 0.0f, 0.0f, 1.0f) );
  osg::ref_ptr<osg::LightSource> lightSource = new
    osg::LightSource;
  lightSource->setLight( light );
  osg::ref_ptr<osg::MatrixTransform> sourceTrans = new osg::MatrixTransform;
  sourceTrans->setMatrix( osg::Matrix::translate(trans) );
  sourceTrans->addChild( lightSource.get() );
  return sourceTrans;
}
int	main(int argc, char **argv)
{
  osg::ArgumentParser arguments(&argc,argv);
  
  osg::ref_ptr<osg::Group> root = new osg::Group;
  root->addChild(createLightSource(0, osg::Vec3(0, -2.0, 0), osg::Vec4(1.0, 1.0, 1.0, 1.0)));
  root->addChild(createLightSource(1, osg::Vec3(0, -16.0, 10.0), osg::Vec4(1.0, 1.0, 1.0, 1.0)));
  root->getOrCreateStateSet()->setMode( GL_LIGHT0, osg::StateAttribute::ON );
  root->getOrCreateStateSet()->setMode( GL_LIGHT1, osg::StateAttribute::ON );
Now the texture appears but are really dark such as there is no light.
Is it something related to states and inheritance?
Thanks,
Florian
------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=67051#67051
    
    
More information about the osg-users
mailing list