David, thank you very much for your help so far. What you say sounds sensible, however I think my implementation still has bugs, because it behaves differently on several computers (one works, the other don't). What I have so far is:
// root -> camera -> clearnode -> skydome // |--> rest_of_scene osg::Camera *camera = new osg::Camera; osg::ClearNode* clearNode = new osg::ClearNode; clearNode->setRequiresClear(false); clearNode->addChild(SkydomeSubgraphNode.get()); camera->setComputeNearFarMode(osg::CullSettings::DO_NOT_COMPUTE_NEAR_FAR); camera->addChild(clearNode); camera->setRenderOrder(osg::Camera::PRE_RENDER); root->addChild(camera); osg::StateSet* stateset = SkydomeSubgraphNode->getOrCreateStateSet(); osg::TexEnv* te = new osg::TexEnv; te->setMode(osg::TexEnv::REPLACE); stateset->setTextureAttributeAndModes(0, te, osg::StateAttribute::ON); stateset->setMode( GL_LIGHTING, osg::StateAttribute::OFF ); stateset->setMode( GL_CULL_FACE, osg::StateAttribute::ON ); osg::Depth* depth = new osg::Depth; depth->setFunction(osg::Depth::ALWAYS); depth->setRange(1.0,1.0); stateset->setAttributeAndModes(depth, osg::StateAttribute::ON ); does something look weird to you? Thank you, Alberto El Martes 15 Julio 2008ES 10:32:55 David Spilling escribió: > Alberto, > > > skydome->setComputeNearFarMode(osg::CullSettings::DO_NOT_COMPUTE_NEAR_FAR > >). > > > > > a class osg::Camera inherits from > > Sorry - missed a step. Put a Camera in above your skydome. > > A solution that comes to my mind is to use a pair of cameras, one rendering > > > the skydome with the setting you said, DO_NOT_COMPUTE_NEAR_FAR, and the > > other > > rendering the rest of the scene. > > Exactly. That's what I do (although I control a bunch of other stuff in the > camera, like projection matrix, in order to avoid the later issues). > > David _______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org