diff --git a/include/osgVolume/VolumeScene b/include/osgVolume/VolumeScene index 0676f06ba..9f32ff35e 100644 --- a/include/osgVolume/VolumeScene +++ b/include/osgVolume/VolumeScene @@ -61,7 +61,7 @@ class OSGVOLUME_EXPORT VolumeScene : public osg::Group osg::ref_ptr _geometry; osg::ref_ptr _vertices; osg::ref_ptr _stateset; - osg::ref_ptr _viewportSizeUniform; + osg::ref_ptr _viewportDimensionsUniform; Tiles _tiles; diff --git a/src/osgVolume/VolumeScene.cpp b/src/osgVolume/VolumeScene.cpp index 3a0ef337a..7226b2315 100644 --- a/src/osgVolume/VolumeScene.cpp +++ b/src/osgVolume/VolumeScene.cpp @@ -244,8 +244,8 @@ void VolumeScene::traverse(osg::NodeVisitor& nv) viewData->_stateset->setTextureAttributeAndModes(0, viewData->_colorTexture.get(), osg::StateAttribute::ON); viewData->_stateset->setTextureAttributeAndModes(1, viewData->_depthTexture.get(), osg::StateAttribute::ON); - viewData->_viewportSizeUniform = new osg::Uniform("viewportSize",osg::Vec2(1280.0,1024.0)); - viewData->_stateset->addUniform(viewData->_viewportSizeUniform.get()); + viewData->_viewportDimensionsUniform = new osg::Uniform("viewportDimensions",osg::Vec4(0.0,0.0,1280.0,1024.0)); + viewData->_stateset->addUniform(viewData->_viewportDimensionsUniform.get()); geode->setStateSet(viewData->_stateset.get()); @@ -266,7 +266,7 @@ void VolumeScene::traverse(osg::NodeVisitor& nv) osg::Viewport* viewport = cv->getCurrentRenderStage()->getViewport(); if (viewport) { - viewData->_viewportSizeUniform->set(osg::Vec2(viewport->width(),viewport->height())); + viewData->_viewportDimensionsUniform->set(osg::Vec4(viewport->x(), viewport->y(), viewport->width(),viewport->height())); if (viewport->width() != viewData->_colorTexture->getTextureWidth() || viewport->height() != viewData->_colorTexture->getTextureHeight())