Renamed osg::CameraNode to osg::Camera, cleaned up osg::View.
Added beginnings of new osgViewer::Scene,View,Viewer,CompositeViewer and GraphicsWindowProxy files.
This commit is contained in:
@@ -1065,7 +1065,7 @@ void CullVisitor::apply(osg::ClearNode& node)
|
||||
|
||||
}
|
||||
|
||||
void CullVisitor::apply(osg::CameraNode& camera)
|
||||
void CullVisitor::apply(osg::Camera& camera)
|
||||
{
|
||||
// push the node's state.
|
||||
StateSet* node_state = camera.getStateSet();
|
||||
@@ -1074,7 +1074,7 @@ void CullVisitor::apply(osg::CameraNode& camera)
|
||||
// Save current cull settings
|
||||
CullSettings saved_cull_settings(*this);
|
||||
|
||||
// activate all active cull settings from this CameraNode
|
||||
// activate all active cull settings from this Camera
|
||||
inheritCullSettings(camera);
|
||||
|
||||
RefMatrix& originalModelView = getModelViewMatrix();
|
||||
@@ -1084,7 +1084,7 @@ void CullVisitor::apply(osg::CameraNode& camera)
|
||||
pushProjectionMatrix(createOrReuseMatrix(camera.getProjectionMatrix()));
|
||||
pushModelViewMatrix(createOrReuseMatrix(camera.getViewMatrix()));
|
||||
}
|
||||
else if (camera.getTransformOrder()==osg::CameraNode::POST_MULTIPLY)
|
||||
else if (camera.getTransformOrder()==osg::Camera::POST_MULTIPLY)
|
||||
{
|
||||
pushProjectionMatrix(createOrReuseMatrix(getProjectionMatrix()*camera.getProjectionMatrix()));
|
||||
pushModelViewMatrix(createOrReuseMatrix(getModelViewMatrix()*camera.getViewMatrix()));
|
||||
@@ -1096,7 +1096,7 @@ void CullVisitor::apply(osg::CameraNode& camera)
|
||||
}
|
||||
|
||||
|
||||
if (camera.getRenderOrder()==osg::CameraNode::NESTED_RENDER)
|
||||
if (camera.getRenderOrder()==osg::Camera::NESTED_RENDER)
|
||||
{
|
||||
handle_cull_callbacks_and_traverse(camera);
|
||||
}
|
||||
@@ -1117,7 +1117,7 @@ void CullVisitor::apply(osg::CameraNode& camera)
|
||||
OpenThreads::ScopedLock<OpenThreads::Mutex> lock(*(camera.getDataChangeMutex()));
|
||||
|
||||
rtts = new osgUtil::RenderStage;
|
||||
rtts->setCameraNode(&camera);
|
||||
rtts->setCamera(&camera);
|
||||
|
||||
if (camera.getDrawBuffer() != GL_NONE)
|
||||
{
|
||||
@@ -1203,7 +1203,7 @@ void CullVisitor::apply(osg::CameraNode& camera)
|
||||
// dependancy list.
|
||||
switch(camera.getRenderOrder())
|
||||
{
|
||||
case osg::CameraNode::PRE_RENDER:
|
||||
case osg::Camera::PRE_RENDER:
|
||||
getCurrentRenderBin()->getStage()->addPreRenderStage(rtts.get(),camera.getRenderOrderNum());
|
||||
break;
|
||||
default:
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#include <osg/TriangleFunctor>
|
||||
#include <osg/Geometry>
|
||||
#include <osg/Projection>
|
||||
#include <osg/CameraNode>
|
||||
#include <osg/Camera>
|
||||
#include <osg/io_utils>
|
||||
|
||||
#include <float.h>
|
||||
@@ -800,11 +800,11 @@ void PickVisitor::apply(osg::Projection& projection)
|
||||
_mx, _my );
|
||||
}
|
||||
|
||||
void PickVisitor::apply(osg::CameraNode& camera)
|
||||
void PickVisitor::apply(osg::Camera& camera)
|
||||
{
|
||||
if (!camera.isRenderToTextureCamera())
|
||||
{
|
||||
if (camera.getReferenceFrame()==osg::CameraNode::ABSOLUTE_RF)
|
||||
if (camera.getReferenceFrame()==osg::Camera::ABSOLUTE_RF)
|
||||
{
|
||||
runNestedPickVisitor( camera,
|
||||
camera.getViewport() ? camera.getViewport() : _lastViewport.get(),
|
||||
@@ -812,7 +812,7 @@ void PickVisitor::apply(osg::CameraNode& camera)
|
||||
camera.getViewMatrix(),
|
||||
_mx, _my );
|
||||
}
|
||||
else if (camera.getTransformOrder()==osg::CameraNode::POST_MULTIPLY)
|
||||
else if (camera.getTransformOrder()==osg::Camera::POST_MULTIPLY)
|
||||
{
|
||||
runNestedPickVisitor( camera,
|
||||
camera.getViewport() ? camera.getViewport() : _lastViewport.get(),
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
#include <osg/PagedLOD>
|
||||
#include <osg/Transform>
|
||||
#include <osg/Projection>
|
||||
#include <osg/CameraNode>
|
||||
#include <osg/Camera>
|
||||
#include <osg/Geode>
|
||||
#include <osg/Billboard>
|
||||
#include <osg/Geometry>
|
||||
@@ -915,14 +915,14 @@ void IntersectionVisitor::apply(osg::Projection& projection)
|
||||
}
|
||||
|
||||
|
||||
void IntersectionVisitor::apply(osg::CameraNode& camera)
|
||||
void IntersectionVisitor::apply(osg::Camera& camera)
|
||||
{
|
||||
// osg::notify(osg::NOTICE)<<"apply(CameraNode&)"<<std::endl;
|
||||
// osg::notify(osg::NOTICE)<<"apply(Camera&)"<<std::endl;
|
||||
|
||||
// note, commenting out right now because default CameraNode setup is with the culling active. Should this be changed?
|
||||
// note, commenting out right now because default Camera setup is with the culling active. Should this be changed?
|
||||
// if (!enter(camera)) return;
|
||||
|
||||
// osg::notify(osg::NOTICE)<<"inside apply(CameraNode&)"<<std::endl;
|
||||
// osg::notify(osg::NOTICE)<<"inside apply(Camera&)"<<std::endl;
|
||||
|
||||
if (camera.getViewport()) pushWindowMatrix( camera.getViewport() );
|
||||
pushProjectionMatrix( new osg::RefMatrix(camera.getProjectionMatrix()) );
|
||||
|
||||
@@ -218,16 +218,16 @@ void RenderStage::runCameraSetUp(osg::RenderInfo& renderInfo)
|
||||
|
||||
osg::State& state = *renderInfo.getState();
|
||||
|
||||
osg::CameraNode::RenderTargetImplementation renderTargetImplemntation = _camera->getRenderTargetImplementation();
|
||||
osg::CameraNode::RenderTargetImplementation renderTargetFallback = _camera->getRenderTargetFallback();
|
||||
osg::Camera::RenderTargetImplementation renderTargetImplemntation = _camera->getRenderTargetImplementation();
|
||||
osg::Camera::RenderTargetImplementation renderTargetFallback = _camera->getRenderTargetFallback();
|
||||
|
||||
osg::CameraNode::BufferAttachmentMap& bufferAttachements = _camera->getBufferAttachmentMap();
|
||||
osg::Camera::BufferAttachmentMap& bufferAttachements = _camera->getBufferAttachmentMap();
|
||||
|
||||
// compute the required dimensions
|
||||
int width = _viewport->x() + _viewport->width();
|
||||
int height = _viewport->y() + _viewport->height();
|
||||
int depth = 1;
|
||||
osg::CameraNode::BufferAttachmentMap::iterator itr;
|
||||
osg::Camera::BufferAttachmentMap::iterator itr;
|
||||
for(itr = bufferAttachements.begin();
|
||||
itr != bufferAttachements.end();
|
||||
++itr)
|
||||
@@ -315,14 +315,14 @@ void RenderStage::runCameraSetUp(osg::RenderInfo& renderInfo)
|
||||
}
|
||||
}
|
||||
|
||||
if (renderTargetImplemntation==osg::CameraNode::FRAME_BUFFER_OBJECT)
|
||||
if (renderTargetImplemntation==osg::Camera::FRAME_BUFFER_OBJECT)
|
||||
{
|
||||
osg::FBOExtensions* fbo_ext = osg::FBOExtensions::instance(state.getContextID(),true);
|
||||
bool fbo_supported = fbo_ext && fbo_ext->isSupported();
|
||||
|
||||
if (fbo_supported && !_fbo)
|
||||
{
|
||||
osg::notify(osg::INFO)<<"Setting up osg::CameraNode::FRAME_BUFFER_OBJECT"<<std::endl;
|
||||
osg::notify(osg::INFO)<<"Setting up osg::Camera::FRAME_BUFFER_OBJECT"<<std::endl;
|
||||
|
||||
OpenThreads::ScopedLock<OpenThreads::Mutex> lock(*(_camera->getDataChangeMutex()));
|
||||
|
||||
@@ -331,23 +331,23 @@ void RenderStage::runCameraSetUp(osg::RenderInfo& renderInfo)
|
||||
bool colorAttached = false;
|
||||
bool depthAttached = false;
|
||||
bool stencilAttached = false;
|
||||
for(osg::CameraNode::BufferAttachmentMap::iterator itr = bufferAttachements.begin();
|
||||
for(osg::Camera::BufferAttachmentMap::iterator itr = bufferAttachements.begin();
|
||||
itr != bufferAttachements.end();
|
||||
++itr)
|
||||
{
|
||||
|
||||
osg::CameraNode::BufferComponent buffer = itr->first;
|
||||
osg::CameraNode::Attachment& attachment = itr->second;
|
||||
osg::Camera::BufferComponent buffer = itr->first;
|
||||
osg::Camera::Attachment& attachment = itr->second;
|
||||
|
||||
switch(buffer)
|
||||
{
|
||||
case(osg::CameraNode::DEPTH_BUFFER):
|
||||
case(osg::Camera::DEPTH_BUFFER):
|
||||
{
|
||||
fbo->setAttachment(GL_DEPTH_ATTACHMENT_EXT, osg::FrameBufferAttachment(attachment));
|
||||
depthAttached = true;
|
||||
break;
|
||||
}
|
||||
case(osg::CameraNode::STENCIL_BUFFER):
|
||||
case(osg::Camera::STENCIL_BUFFER):
|
||||
{
|
||||
fbo->setAttachment(GL_STENCIL_ATTACHMENT_EXT, osg::FrameBufferAttachment(attachment));
|
||||
stencilAttached = true;
|
||||
@@ -355,7 +355,7 @@ void RenderStage::runCameraSetUp(osg::RenderInfo& renderInfo)
|
||||
}
|
||||
default:
|
||||
{
|
||||
fbo->setAttachment(GL_COLOR_ATTACHMENT0_EXT+(buffer-osg::CameraNode::COLOR_BUFFER0), osg::FrameBufferAttachment(attachment));
|
||||
fbo->setAttachment(GL_COLOR_ATTACHMENT0_EXT+(buffer-osg::Camera::COLOR_BUFFER0), osg::FrameBufferAttachment(attachment));
|
||||
colorAttached = true;
|
||||
break;
|
||||
}
|
||||
@@ -409,26 +409,26 @@ void RenderStage::runCameraSetUp(osg::RenderInfo& renderInfo)
|
||||
if (renderTargetImplemntation<renderTargetFallback)
|
||||
renderTargetImplemntation = renderTargetFallback;
|
||||
else
|
||||
renderTargetImplemntation = osg::CameraNode::PIXEL_BUFFER_RTT;
|
||||
renderTargetImplemntation = osg::Camera::PIXEL_BUFFER_RTT;
|
||||
}
|
||||
}
|
||||
|
||||
// check whether PBuffer-RTT is supported or not
|
||||
if (renderTargetImplemntation==osg::CameraNode::PIXEL_BUFFER_RTT &&
|
||||
if (renderTargetImplemntation==osg::Camera::PIXEL_BUFFER_RTT &&
|
||||
!osg::isGLExtensionSupported(state.getContextID(), "WGL_ARB_render_texture"))
|
||||
{
|
||||
if (renderTargetImplemntation<renderTargetFallback)
|
||||
renderTargetImplemntation = renderTargetFallback;
|
||||
else
|
||||
renderTargetImplemntation = osg::CameraNode::PIXEL_BUFFER;
|
||||
renderTargetImplemntation = osg::Camera::PIXEL_BUFFER;
|
||||
}
|
||||
|
||||
// if any of the renderTargetImplementations require a seperate graphics context such as with pbuffer try in turn to
|
||||
// set up, but if each level fails then resort to the next level down.
|
||||
while (!getGraphicsContext() &&
|
||||
(renderTargetImplemntation==osg::CameraNode::PIXEL_BUFFER_RTT ||
|
||||
renderTargetImplemntation==osg::CameraNode::PIXEL_BUFFER ||
|
||||
renderTargetImplemntation==osg::CameraNode::SEPERATE_WINDOW) )
|
||||
(renderTargetImplemntation==osg::Camera::PIXEL_BUFFER_RTT ||
|
||||
renderTargetImplemntation==osg::Camera::PIXEL_BUFFER ||
|
||||
renderTargetImplemntation==osg::Camera::SEPERATE_WINDOW) )
|
||||
{
|
||||
osg::ref_ptr<osg::GraphicsContext> context = getGraphicsContext();
|
||||
if (!context)
|
||||
@@ -442,9 +442,9 @@ void RenderStage::runCameraSetUp(osg::RenderInfo& renderInfo)
|
||||
|
||||
// osg::notify(osg::NOTICE)<<"traits = "<<traits->_width<<" "<<traits->_height<<std::endl;
|
||||
|
||||
traits->_pbuffer = (renderTargetImplemntation==osg::CameraNode::PIXEL_BUFFER || renderTargetImplemntation==osg::CameraNode::PIXEL_BUFFER_RTT);
|
||||
traits->_windowDecoration = (renderTargetImplemntation==osg::CameraNode::SEPERATE_WINDOW);
|
||||
traits->_doubleBuffer = (renderTargetImplemntation==osg::CameraNode::SEPERATE_WINDOW);
|
||||
traits->_pbuffer = (renderTargetImplemntation==osg::Camera::PIXEL_BUFFER || renderTargetImplemntation==osg::Camera::PIXEL_BUFFER_RTT);
|
||||
traits->_windowDecoration = (renderTargetImplemntation==osg::Camera::SEPERATE_WINDOW);
|
||||
traits->_doubleBuffer = (renderTargetImplemntation==osg::Camera::SEPERATE_WINDOW);
|
||||
|
||||
osg::Texture* pBufferTexture = 0;
|
||||
GLenum bufferFormat = GL_NONE;
|
||||
@@ -454,28 +454,28 @@ void RenderStage::runCameraSetUp(osg::RenderInfo& renderInfo)
|
||||
bool colorAttached = false;
|
||||
bool depthAttached = false;
|
||||
bool stencilAttached = false;
|
||||
for(osg::CameraNode::BufferAttachmentMap::iterator itr = bufferAttachements.begin();
|
||||
for(osg::Camera::BufferAttachmentMap::iterator itr = bufferAttachements.begin();
|
||||
itr != bufferAttachements.end();
|
||||
++itr)
|
||||
{
|
||||
|
||||
osg::CameraNode::BufferComponent buffer = itr->first;
|
||||
osg::CameraNode::Attachment& attachment = itr->second;
|
||||
osg::Camera::BufferComponent buffer = itr->first;
|
||||
osg::Camera::Attachment& attachment = itr->second;
|
||||
switch(buffer)
|
||||
{
|
||||
case(osg::CameraNode::DEPTH_BUFFER):
|
||||
case(osg::Camera::DEPTH_BUFFER):
|
||||
{
|
||||
traits->_depth = 24;
|
||||
depthAttached = true;
|
||||
break;
|
||||
}
|
||||
case(osg::CameraNode::STENCIL_BUFFER):
|
||||
case(osg::Camera::STENCIL_BUFFER):
|
||||
{
|
||||
traits->_stencil = 8;
|
||||
stencilAttached = true;
|
||||
break;
|
||||
}
|
||||
case(osg::CameraNode::COLOR_BUFFER):
|
||||
case(osg::Camera::COLOR_BUFFER):
|
||||
{
|
||||
if (attachment._internalFormat!=GL_NONE)
|
||||
{
|
||||
@@ -501,7 +501,7 @@ void RenderStage::runCameraSetUp(osg::RenderInfo& renderInfo)
|
||||
level = attachment._level;
|
||||
face = attachment._face;
|
||||
|
||||
if (renderTargetImplemntation==osg::CameraNode::PIXEL_BUFFER_RTT)
|
||||
if (renderTargetImplemntation==osg::Camera::PIXEL_BUFFER_RTT)
|
||||
{
|
||||
traits->_target = bufferFormat;
|
||||
traits->_level = level;
|
||||
@@ -512,7 +512,7 @@ void RenderStage::runCameraSetUp(osg::RenderInfo& renderInfo)
|
||||
}
|
||||
default:
|
||||
{
|
||||
if (renderTargetImplemntation==osg::CameraNode::SEPERATE_WINDOW)
|
||||
if (renderTargetImplemntation==osg::Camera::SEPERATE_WINDOW)
|
||||
osg::notify(osg::NOTICE)<<"Warning: RenderStage::runCameraSetUp(State&) Window ";
|
||||
else
|
||||
osg::notify(osg::NOTICE)<<"Warning: RenderStage::runCameraSetUp(State&) Pbuffer ";
|
||||
@@ -570,7 +570,7 @@ void RenderStage::runCameraSetUp(osg::RenderInfo& renderInfo)
|
||||
setDrawBuffer(GL_FRONT);
|
||||
setReadBuffer(GL_FRONT);
|
||||
|
||||
if (pBufferTexture && renderTargetImplemntation==osg::CameraNode::PIXEL_BUFFER_RTT)
|
||||
if (pBufferTexture && renderTargetImplemntation==osg::Camera::PIXEL_BUFFER_RTT)
|
||||
{
|
||||
osg::notify(osg::INFO)<<"RenderStage::runCameraSetUp(State&) Assign graphis context to Texture"<<std::endl;
|
||||
pBufferTexture->setReadPBuffer(context.get());
|
||||
@@ -585,17 +585,17 @@ void RenderStage::runCameraSetUp(osg::RenderInfo& renderInfo)
|
||||
{
|
||||
osg::notify(osg::INFO)<<"Failed to aquire Graphics Context"<<std::endl;
|
||||
|
||||
if (renderTargetImplemntation==osg::CameraNode::PIXEL_BUFFER_RTT)
|
||||
if (renderTargetImplemntation==osg::Camera::PIXEL_BUFFER_RTT)
|
||||
{
|
||||
// fallback to using standard PBuffer, this will allow this while loop to continue
|
||||
if (renderTargetImplemntation<renderTargetFallback)
|
||||
renderTargetImplemntation = renderTargetFallback;
|
||||
else
|
||||
renderTargetImplemntation = osg::CameraNode::PIXEL_BUFFER;
|
||||
renderTargetImplemntation = osg::Camera::PIXEL_BUFFER;
|
||||
}
|
||||
else
|
||||
{
|
||||
renderTargetImplemntation = osg::CameraNode::FRAME_BUFFER;
|
||||
renderTargetImplemntation = osg::Camera::FRAME_BUFFER;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -603,11 +603,11 @@ void RenderStage::runCameraSetUp(osg::RenderInfo& renderInfo)
|
||||
}
|
||||
|
||||
// finally if all else has failed, then the frame buffer fallback will come in to play.
|
||||
if (renderTargetImplemntation==osg::CameraNode::FRAME_BUFFER)
|
||||
if (renderTargetImplemntation==osg::Camera::FRAME_BUFFER)
|
||||
{
|
||||
osg::notify(osg::INFO)<<"Setting up osg::CameraNode::FRAME_BUFFER"<<std::endl;
|
||||
osg::notify(osg::INFO)<<"Setting up osg::Camera::FRAME_BUFFER"<<std::endl;
|
||||
|
||||
for(osg::CameraNode::BufferAttachmentMap::iterator itr = bufferAttachements.begin();
|
||||
for(osg::Camera::BufferAttachmentMap::iterator itr = bufferAttachements.begin();
|
||||
itr != bufferAttachements.end();
|
||||
++itr)
|
||||
{
|
||||
@@ -734,7 +734,7 @@ void RenderStage::drawInner(osg::RenderInfo& renderInfo,RenderLeaf*& previous, b
|
||||
{
|
||||
copyTexture(renderInfo);
|
||||
}
|
||||
std::map< osg::CameraNode::BufferComponent, Attachment>::const_iterator itr;
|
||||
std::map< osg::Camera::BufferComponent, Attachment>::const_iterator itr;
|
||||
for(itr = _bufferAttachmentMap.begin(); itr != _bufferAttachmentMap.end(); ++itr){
|
||||
if (itr->second._image.valid())
|
||||
{
|
||||
@@ -771,8 +771,8 @@ void RenderStage::drawInner(osg::RenderInfo& renderInfo,RenderLeaf*& previous, b
|
||||
if (fbo_supported && _camera)
|
||||
{
|
||||
// now generate mipmaps if they are required.
|
||||
const osg::CameraNode::BufferAttachmentMap& bufferAttachements = _camera->getBufferAttachmentMap();
|
||||
for(osg::CameraNode::BufferAttachmentMap::const_iterator itr = bufferAttachements.begin();
|
||||
const osg::Camera::BufferAttachmentMap& bufferAttachements = _camera->getBufferAttachmentMap();
|
||||
for(osg::Camera::BufferAttachmentMap::const_iterator itr = bufferAttachements.begin();
|
||||
itr != bufferAttachements.end();
|
||||
++itr)
|
||||
{
|
||||
@@ -1014,7 +1014,7 @@ bool RenderStage::getStats(Statistics& stats) const
|
||||
return statsCollected;
|
||||
}
|
||||
|
||||
void RenderStage::attach(osg::CameraNode::BufferComponent buffer, osg::Image* image)
|
||||
void RenderStage::attach(osg::Camera::BufferComponent buffer, osg::Image* image)
|
||||
{
|
||||
_bufferAttachmentMap[buffer]._image = image;
|
||||
}
|
||||
|
||||
@@ -99,7 +99,7 @@ SceneView::SceneView(DisplaySettings* ds)
|
||||
|
||||
_prioritizeTextures = false;
|
||||
|
||||
_camera = new CameraNode;
|
||||
_camera = new Camera;
|
||||
_camera->setViewport(new Viewport);
|
||||
_camera->setClearColor(osg::Vec4(0.2f, 0.2f, 0.4f, 1.0f));
|
||||
|
||||
@@ -210,7 +210,7 @@ void SceneView::setDefaults(unsigned int options)
|
||||
_camera->setClearColor(osg::Vec4(0.2f, 0.2f, 0.4f, 1.0f));
|
||||
}
|
||||
|
||||
void SceneView::setCamera(osg::CameraNode* camera)
|
||||
void SceneView::setCamera(osg::Camera* camera)
|
||||
{
|
||||
if (camera)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user