Commit Graph

66 Commits

Author SHA1 Message Date
Robert Osfield
e89852e25f From Marco Jez, " I've modified in order to make FBO mipmapping work. In
FrameBufferObject.cpp there is also another fix: when initializing a FBO
attachment from a CameraNode attachment, the renderbuffer's format must be
set to the attachment's internal format, not to the image's pixel format.

Another problem is that attaching a renderbuffer to the FBO through
CameraNode is not simple (if not impossible) if you don't intend to specify
an Image object. Probably CameraNode could be enriched with an
"attach(buffer, width, height, format)" method. For example if you attach a
color buffer as a texture whose size is different than that of the
CameraNode's viewport you also need to attach a depth buffer of the same
size, because the depth buffer that is automatically attached by RenderStage
has the viewport's size. FBOs require that all attachment have the same
dimensions, so said setup will fail if you can't specify a custom depth
renderbuffer"
2006-02-04 21:20:25 +00:00
Robert Osfield
53ee0ce3ec Added CameraNode::releaseGLObejcts() to help in clean up, and changed the
ordering in SceneView::flushDeleteGLObjects() so that fbo's are deleted
before any texture objects they use are deleted.
2005-12-08 10:06:57 +00:00
Robert Osfield
83f43b37e6 Added automatic setting of thread safe reference counting when multi-threaded
cameras are used.
2005-11-24 10:14:05 +00:00
Robert Osfield
0e16b64665 Coverted tabs to space in core libraries. 2005-11-17 13:35:53 +00:00
Robert Osfield
e8d6df7583 Addd OsgSceneHandler::s/getCleanUpOnNextFrame() and support for it in the draw() method,
when CleanUpOnNextFrame is enabled the next frame simple deleted OpenGL objects without doing any draw traversal.
2005-11-10 11:39:01 +00:00
Robert Osfield
f3cfe97da9 Added support in DisplaySettings and OscCameraGroup for requesting accumulator buffer. 2005-11-02 19:15:18 +00:00
Robert Osfield
b704045e6c Added default setting of _threading_model to ThreadPerCamera when multiple cameras
are present, and SingleThreaded when a single camera is being used.
2005-10-31 14:48:11 +00:00
Robert Osfield
578530d0b4 Fixed env var docs for sharing graphics contexts. 2005-10-28 18:37:15 +00:00
Robert Osfield
f46044084a From Farshid Lashkari & Robert Osfield: Added support for VERTICAL_INTERLACE and HORIZONTAL_INTERLACE
stereo modes use the stencil buffer.
2005-10-25 15:43:04 +00:00
Robert Osfield
3bf7cba453 Added env var reporting for the OSG_CAMERA_THREADING and OSG_SHARE_GRAPHICS_CONTEXTS env vars. 2005-10-06 13:31:23 +00:00
Robert Osfield
1a152afda0 Added catch for disabling ThreadPerCamera when contexts are shared. 2005-10-06 13:20:08 +00:00
Robert Osfield
384830d37e Added handling of automatic setting up of the contextID. 2005-07-25 14:28:22 +00:00
Robert Osfield
302c58fc93 Implemented the beginings of the osgProducer::GraphicsContexImplementation.
Added options into osgprerender for controlling how to do the pre rendering i.e.
--fbo, --pbuffer, --fb --window, and also added the option for controlling the
window size with --width and --height.
2005-07-21 19:27:19 +00:00
Robert Osfield
d1a1b1d95c Added more comprehensive releaseGLObjects(State*=0) throughout Nodes,
Drawables,StateSet, and osgDB::Registry.

Added cleanup_frame() from to osgProducer::OsgCamerGroup to help with proper
clean of OpenGL objects before exit, and modified osgviewer, osghangglider,
osgwindows examples to do the extra frame call to cleanup_frame() before exit.
2005-05-07 20:47:09 +00:00
Robert Osfield
52e036f425 Added handling of sharing of graphics context data which is now supported
by Producer.  You can get the osgProducer::Viewer to share graphics contexts
by using the env var OSG_SHARE_GRAPHICS_CONTEXTS set to ON or OFF i.e.

   setenv OSG_SHARE_GRAPHICS_CONTEXTS ON
2005-05-06 19:44:24 +00:00
Robert Osfield
a44e33795d Removed the defaulting to setting the camera threading model to MultiThreaded,
instead leave it to Producer's defaults.
2005-05-05 14:03:54 +00:00
Robert Osfield
678b22ce83 Updated Copyright notices to 1998-2005. 2005-04-14 21:41:28 +00:00
Robert Osfield
72ff1737f4 Added support for OSG_CAMERA_THREADING env variable which is set to
"SingleThreaded" will ensure that OsgCameraGroup runs singe threaded.
2005-02-01 13:19:34 +00:00
Robert Osfield
ebab2ccab4 Fixed OsgCameraGroup::setLODScale so that it now uses the local CullSettings
objects.
2004-10-18 18:56:26 +00:00
Robert Osfield
4192ef796b Added CullingSettngs::s/getInheritanceMask() and inheritCullSettings(,) method. 2004-10-12 09:54:03 +00:00
Robert Osfield
debf8dceef Added s/getCullSettings to OsgCameraGroup 2004-10-05 19:12:46 +00:00
Robert Osfield
935f2a62e5 Experimentation with new timing code. 2004-09-30 19:36:15 +00:00
Robert Osfield
1f53745511 From Uwe Woessner 2004-09-01 15:14:55 +00:00
Robert Osfield
53dc96bb50 Added s/getClearColor and deprecated s/getBackgroundColor(). Re-implemented
setClearColor so that it passes on its value to Camera::setClearColor(), and
changed OsgSceneHandler to use the Camera::getClearColor() on each new frame
to ensure that it reflects the settings of the camera correctly.
2004-08-05 10:01:32 +00:00
Robert Osfield
67df9af7d1 Fixed warnings 2004-08-02 15:56:18 +00:00
Robert Osfield
6524fe1293 From Norman Vine, fixes for Mingw 2004-08-02 09:11:31 +00:00
Robert Osfield
cf62f7097d Added ImageStream::quit(bool) for exiting from video threads, and added
clean up to OsgCameGroup to quit movie threads automatically.
2004-07-23 09:15:22 +00:00
Robert Osfield
3bca9ec9cf Added SceneView::Options for SceneView::setDefaults(options) and
OsgCameraGroup::setRealizeSceneViewOptions(options) to allow better control
of what functionality is compiled in by default.
2004-07-20 10:17:22 +00:00
Robert Osfield
504dd515d3 Improvements to the handling of coordinate system nodes 2004-07-09 15:21:33 +00:00
Robert Osfield
b7746ff56e Added support for automatically finding CoordinateSystemNode's in the
scene graph and then using them to set up the CoordinateFrame used
by the camera manipulators.
2004-05-03 12:04:25 +00:00
Don BURNS
078251a5f5 Changed OsgCameraGroup to check for the Producer::RenderSurface::defaultWindowName
rather than the hard coded string
2004-02-26 18:33:06 +00:00
Robert Osfield
f5b4f7ace0 Changed OsgCameraGroup so that it shares osg::State between Producer::Camera's which
share the same Producer::RenderSurface.

Added support for more colors in slideshow3D's constructor code.
2003-09-10 19:25:36 +00:00
Robert Osfield
792bba05b9 Added new Matrixf and Matrixd implementations.
Made Matrix be a typedef to either Matrixf or Matrixd.  Defaults to Matrixf.

Converted the osgGA::MatrixManipulators and osgProducer::Viewer/OsgCameraGroup
across to using exclusively Matrixd for internal computations and passing betwen
Manipulators, Producer and SceneView. Note, SceneView still uses Matrix internally
so will depend on what is set as the default in include/osg/Matrix.

Added the ability to osgProducer::setDone/getDone(), kept done() as the
method that the viewer main loop uses for detecting the exit condition.
2003-09-05 22:35:34 +00:00
Robert Osfield
e530912744 Made Matrix a typedef to Matrixf, and converted the old Matrix to Matrixf, as
part of prep for supporting both Matrixf (float) and Matrixd (double).

Added osg::Matrixf::glLoadMatrix() and osg::Matrixf::glMultiMatrix() methods
and changed corresponding usage of glLoad/MultMatrixf() calls across to use these
methods. Again prep for support Matrixd.

Fixes for VisualStudio 6.0 compile.
2003-09-02 17:19:18 +00:00
Robert Osfield
7e1fab5bc1 Removed old link. 2003-07-21 11:54:51 +00:00
Robert Osfield
5aa47a77c2 Improvements to the DatabasePager and PagedLOD class adding support for
deleting expuired children in the database thread.
2003-07-09 14:55:39 +00:00
Robert Osfield
c2eabe1d4b Added osg::PagedLOD and osgProducer::DatabasePager class, and linked up osgProducer::Viewer
to manage the pager.
2003-07-08 14:44:00 +00:00
Don BURNS
15f88f35b2 *** empty log message *** 2003-06-24 15:40:09 +00:00
Robert Osfield
72b86dee82 Removed the _state.reset() call as it was doing OpenGL calls outside of the
thread with the graphics context.
2003-05-21 16:33:53 +00:00
Robert Osfield
940ce67133 Removed remaining dependancies on osg::Camera. 2003-05-19 15:15:17 +00:00
Robert Osfield
341fa340ce Added check for camera's sharing the same RenderSurface, if so switches off
multi-threading of cull and draw.
2003-04-23 09:59:08 +00:00
Robert Osfield
ba575396a4 Added setting of the RenderSurface name to the application name. 2003-04-17 15:57:05 +00:00
Robert Osfield
fd262554ac Moved the managing of frame stamp from osgProducer::Viewer into
osgProducer::OsgCamaraGroup.

Added setting of trackball in osgcameragroup so its starts in the
correct place for different models.
2003-04-17 11:14:25 +00:00
Robert Osfield
e1e54570cb Fixed Viewer and OsgCameraGroup classes so that work properly with the
Prodicer::setViewByMatrix calls.
2003-04-10 10:02:24 +00:00
Robert Osfield
38cccb696b Added environmental variable usage to OsgCameraGroup. 2003-04-09 10:51:13 +00:00
Robert Osfield
2c030170ff Added a setting of OsgCameraGroup::_applicateUsage to
ApplicationUsage::instance() by default.
2003-04-09 10:13:07 +00:00
Robert Osfield
b02917e7a2 Fixed type of osg::ApplicationUsage::set/getApplictionName(), updated
demos accordingly.

Made OsgCameraGroup set the _applicationUsage to the
osg::ApplicationUsage::instance() when no ArgumentParser is supplied.

Added export to osgProducer::ViewerEventAdapter.
2003-04-09 08:20:08 +00:00
Robert Osfield
8a3d731739 Added support for Viewer::setViewer::setView so that the internal old
style osg::Camera and camera manipulators are updated correctly.
2003-04-08 15:47:45 +00:00
Robert Osfield
e928bca4c9 Changed the Viewer::realize() calls across to not using the threading paramter
leaving it up to the Viewer to specify the mode (which by default is MultiThreaded).
Added a check for the presence of osgParticle systems so that threading is
disabled in this case.
2003-04-08 15:18:45 +00:00
Robert Osfield
c7a7bd03cb Added support for recording animation paths in the osgProducer::Viewer. 2003-04-05 22:24:48 +00:00