Hi Stephen,

Thanks for the response.  When I do that below, the osg portion of the
window goes to a dark blue background..(seems to be still doing something
with the clearcolor????).. when using the clearnode, it goes to a black
background (note I can see the model getting rendered in both cases, and my
scene of my existing app is showing up too, but with artifacts).  I just
don't understand why it is messing with the background at all, and it kinda
looks like it might also be doing something to my depth buffer or far plane,
which I'm pretty sure I have OSG not to compute the far automatically.  All
I would like OSG to do is render a couple models in my existing app, and not
mess with anything else at this stage.  I know I have done this before with
OSG.

I guess I can start digging through the sourceode too...

All the best,
Vince


-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Stephen
Northcott
Sent: Thursday, January 31, 2008 12:04 AM
To: OpenSceneGraph Users
Subject: Re: [osg-users] osg clearnode

Hi Vincent,

I used to use a clearnode a while back..
All I do now with my mixed OpenGL and OSG is the following at setup..

All I do is the following..

sceneViewer->getCamera()->setClearMask(0);

You can put various GL_DEPTH_BUFFER_BIT, and colour buffer bits and so  
on in the setClearMask to get your required level of clearing, or not..

Hope that helps,
Stephen.

On Jan 31, 2008, at 11:41 AM, Vincent wrote:

>
> I thought I was able to do this years ago and had it work alright,  
> so I
> think I'm forgetting something...hopefully someone can help.
>
> I need to have my clearcolor and clear masks set outside of osg
> glClear(...).   If I set OSG;s  viewport smaller than my main  
> viewport, I
> can still see my scene is getting rendered behind OSG.  Also, when I  
> use the
> clearnode its setting OSG background to black(this is probably the  
> clue of
> what I'm doing wrong).  All I'm doing right now is rendering the
> cow....nothing else.  I am using the clearnode as shown below.
>
> /////////////This here is how I'm creating the viewer/////////////
>       sceneViewer_[0] = new osgUtil::SceneView();
>       sceneViewer_[0]->setFrameStamp( frameStamp.get() );
>       sceneViewer_[0]->setDefaults(  osgUtil::SceneView::STANDARD_SETTINGS
> );
>       sceneViewer_[0]->setComputeNearFarMode(
> osgUtil::CullVisitor::DO_NOT_COMPUTE_NEAR_FAR );
>
>
> ////////////This here is how I'm adding the  
> clearnode /////////////////////
>
>               osg::Node *loadedModel =
> sgDB::readNodeFile("C:/Debug/cow.osg");
>
>               if (!loadedModel)
>               {
>                       OutputDebugString("failed loading model");
>                       system("pause");
>               }
>       
>               osg::ClearNode  *clear_node = new osg::ClearNode();
>               clear_node->setRequiresClear( false );
>               osg::StateSet *stateset = new osg::StateSet();
>               stateset->setMode( GL_RESCALE_NORMAL,
> osg::StateAttribute::ON );
>               osg::PositionAttitudeTransform *transform0 = new
> osg::PositionAttitudeTransform;
>               transform0->setStateSet(stateset);
>               transform0->addChild(  loadedModel );
>               transform0->setPosition( osg::Vec3(0,0,0 ) );
>               clear_node->addChild( transform0 );
>               sceneViewer_[0]->setSceneData( clear_node );
>
>
> ///////////////This here is how I'm rendering/////////////
>    glPushAttrib( GL_ALL_ATTRIB_BITS );
>               glMatrixMode( GL_PROJECTION );
>               glPushMatrix();
>               glMatrixMode( GL_TEXTURE );
>               glPushMatrix();
>               glMatrixMode( GL_MODELVIEW );
>               glPushMatrix();
>
>               sceneViewer_[0]->setViewport(pCamera->viewParams[0],
> pCamera->viewParams[1], pCamera->viewParams[2], pCamera- 
> >viewParams[3]);
>
>               GLdouble glMat[16];
>               osg::Matrixd osgMat;
>               glGetDoublev( GL_PROJECTION_MATRIX, glMat );
>               osgMat.set( glMat );
>               sceneViewer_[0]->getProjectionMatrix().set( osgMat );
>               
>               
>               glGetDoublev( GL_MODELVIEW_MATRIX, glMat );
>               osgMat.set( glMat );
>               sceneViewer_[0]->getViewMatrix().set( osgMat );
>
>       
>               sceneViewer_[0]->update ();
>               sceneViewer_[0]->cull ();
>               sceneViewer_[0]->draw();
>
>               glMatrixMode(GL_MODELVIEW);
>               glPopMatrix();
>
>               glMatrixMode(GL_TEXTURE);
>               glPopMatrix();
>               glMatrixMode(GL_PROJECTION);
>               glPopMatrix();
>               glPopAttrib()
>
>
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.5.516 / Virus Database: 269.19.16/1251 - Release Date:  
> 1/30/2008
> 9:29 AM
>
>
> _______________________________________________
> 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
No virus found in this incoming message.
Checked by AVG Free Edition. 
Version: 7.5.516 / Virus Database: 269.19.16/1251 - Release Date: 1/30/2008
9:29 AM

No virus found in this outgoing message.
Checked by AVG Free Edition. 
Version: 7.5.516 / Virus Database: 269.19.16/1251 - Release Date: 1/30/2008
9:29 AM
 

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

Reply via email to