[osg-users] Camera clear color

cdp97531 at sina.com cdp97531 at sina.com
Thu Nov 29 00:32:38 PST 2018

Hi OSG developers,
I am using OSG a lot now. OSG is great indeed.But I encountered a problem:There are one active master camera and one active slave camera which has its own scene graph.The 2 cameras shares the same GraphicsContext.Slave camera's viewport is contained in master camera's viewport.I want slave camera's viewport has a different background color, so I write:
    masterCamera->setClearMask(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);    masterCamera->setClearColor(osg::Vec4f(0.2f, 0.2f, 0.4f, 1.0f)); // blue
    slaveCamera->setClearMask(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);    slaveCamera->setClearColor(osg::Vec4f(0.4f, 0.2f, 0.2f, 1.0f)); // orange
But all view area is orange.I know glClear will clear whole color buffer.But  GL spec says that scissor test affect the operation of glClear.After I add the following statement, it works:    slaveCamera->getOrCreateStateSet()->setMode(osg::StateAttribute::SCISSOR, osg::StateAttribute::ON);Is this a bug of OSG?
It seems that OSG has enable scissor test:void RenderStage::drawImplementation(osg::RenderInfo& renderInfo,RenderLeaf*& previous){...    glScissor( static_cast<int>(_viewport->x()),               static_cast<int>(_viewport->y()),               static_cast<int>(_viewport->width()),               static_cast<int>(_viewport->height()) );    //cout << "    clearing "<<this<< "  "<<_viewport->x()<<","<< _viewport->y()<<","<< _viewport->width()<<","<< _viewport->height()<<std::endl;    state.applyMode( GL_SCISSOR_TEST, true );}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20181129/476b94ae/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ??1.png
Type: image/png
Size: 11406 bytes
Desc: not available
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20181129/476b94ae/attachment.png>

More information about the osg-users mailing list