Robert Osfield
39dcea9ebb
From Colin McDonald and Robert Osfield, converted Traits::sharedContext from GraphicsContext* to osg:observer_ptr<GraphicsContext> to prevent dangling pointer issues.
2012-09-05 21:03:41 +00:00
Robert Osfield
14a563dc9f
Ran script to remove trailing spaces and tabs
2012-03-21 17:36:20 +00:00
Robert Osfield
c3a0a8ddc3
Added Traits::getContextVersion(uint,uint)
2012-03-21 11:36:54 +00:00
Robert Osfield
64fa6aec43
From Robert Milharcic, "This will hopefully fix some issues with osgQt, more precisely with GLWidget event handling. There are at least two current GL context braking events, QEvent::Hide and QEvent::ParentChange. When running in a multithreaded mode they both try to change current GL context in a wrong thread (main GUI thread). The QEvent::ParentChange is also problematic when running in a single threaded model because Qt is going to release current contex then delete it, and then it will create new one, and as a result the osg will continue to render to an invalid deleted context. This changes workaround above problems by deferring execution of the problematic evens. These events has to be enqueued and executed later. The enqueued event processing is currently done right after swap in a swapBuffersImplementation of GraphicsWindowQt while code is running in a render thread by calling QGLWidget handler directly. In principle the deferred events queue should be executed while in GUI thread but I couldn't find any reliable way to do this, that is without risking a deadlock. For now it is assumed, Qt is not going to execute any GUI thread only operations inside the QGLWidget handler."
2011-09-13 11:09:39 +00:00
Robert Osfield
22dd9df78b
Improved the clarity of doxygen comments
2011-09-12 12:04:46 +00:00
Robert Osfield
634344aef5
From Marius Heise, "here is a patch that implements Win32 HW-synced swapping using wglJoinSwapGroupNV, wglBindSwapBarrierNV and the existing traits. It was tested with multiple ATI FirePro S400 cards.
...
I also fixed the vsync implementation introduced with rev.11357 that was crashing with the Windows Error #170 . So I removed your temporary /* */ around the vsync condition..."
2011-04-21 13:34:03 +00:00
Robert Osfield
d7b161078a
From Thomas Hogarth and Stephan Huber, "attached you'll find part one of iphone-support. It includes
...
* support for NPOT-textures on IOS
* support for FBOs (only renderToTexture for now) on IOS (should work
for other OpenGL ES 1/2 targets, too)
* FileUtils-support for IOS"
2010-11-25 16:06:04 +00:00
Robert Osfield
68f37c4dcb
From Tim More and Robert Osfield, implementation of ARB_timer_query based GPU timing stats syncronization.
...
Initial email from Tim : "I've implemented using a timestamp, available with ARB_timer_query and OpenGL 3.3, to gather GPU stats. This is nice because it can accurately fix the GPU draw time with respect to the other times on the stats graph, rather than having to estimate the wall time of the end of GPU drawing. This also prevents anomalies like the GPU phase starting before the draw phase..."
Changes to Tim's submission by Robert: Removal of need for swap buffer callback in ViewerBase.cpp, by
integrating a osg::State::frameCompleted() method that does the stats timing collection. Introduction of a
GraphicsContext::swapBuffersCallbackOrImplementation() method that calls the State::frameCompleted() and
the swap buffers callback or the swapImplementation as required.
2010-11-10 16:58:58 +00:00
Robert Osfield
0eded3efbe
From WojciechLewandowski, Added DispaySettings::SwapMethod and support for it in GraphicsContext::Traits
2010-09-30 14:25:27 +00:00
Robert Osfield
cc471b1103
From Magnus Kessler, "Attached are a number of files where I have tried to fix up some of the
...
documentation. I have accumulated them over some time, but rebased onto the
subversion trunk."
2010-09-15 12:00:12 +00:00
Robert Osfield
22de011107
Renamed osg::GraphicsContext::OperationQueue typedef to GraphicsOperationQueue to avoid naming conflict with osg::OperationQueue
2009-12-14 13:42:00 +00:00
Robert Osfield
8238396099
Added missing export
2009-11-13 09:56:47 +00:00
Robert Osfield
95d54ba15c
Added glContexVersion, glContextFlags and glContextProfileMask members to osg::GraphicsContext::Traits to support GL3 graphics context creation.
...
Moved the handling of DisplaySettings into Traits constructor.
Added support for s/getGLContextVersion(), s/getGLContextFlags() and s/getGLContextProfileMask() to osg::DisplaySettings.
Added command line and env var support for setting the GLContextVersion, GLContextFlags and GLContextProfileMask to osg::DisplaySettings.
2009-11-11 15:25:42 +00:00
Robert Osfield
c3fc21fa82
Added support for tracking the time since the last clear() call to enable other
...
classes to be able to find out how long the current graphics frame has been running.
2009-03-12 15:18:51 +00:00
Robert Osfield
a5c32da4ff
Warning fixes
2008-12-17 11:00:16 +00:00
Robert Osfield
4511281f04
From Sukender and Robert Osfield, introduced GraphicsContext::ScreenSettings & WindowingSystemInterface::enumerateScreenSettings.
2008-12-16 15:08:04 +00:00
Robert Osfield
10186190f6
Introduced support for controlling mipmapping of osgTerrain::ImageLayer and compression of osgTerrain::HeightFieldLayer.
2008-10-20 08:43:25 +00:00
Robert Osfield
af271f99ec
Added support for X11's overrideRedirect functionality
2008-06-21 17:50:58 +00:00
Robert Osfield
35d9107d81
Added catch for handling cases where undefined settings for dislayNum and screenNum are used
2008-01-04 13:57:36 +00:00
Robert Osfield
8c5a9ac218
Fixed indentation
2007-12-23 13:08:14 +00:00
Robert Osfield
f4afa427a7
From Roland Smeenk, "Attached you will find a large set of small typo fixes (mainly in the comments)."
2007-12-10 17:30:18 +00:00
Robert Osfield
9b9e4cd7c8
Added perlimnary support for reading the DISPLAY variable.
2007-08-03 14:50:58 +00:00
Robert Osfield
ecf0b58a19
Renamed include/osg/OperationsThread to OperationThread.
...
Created a new GraphicsThread subclass from OperationThread which allows the
GraphicsContext specific calls to be moved out of the base OperationThread class.
Updated the rest of the OSG to respect these changes.
2007-07-12 15:54:45 +00:00
Robert Osfield
d1fa520349
Added support for managing a CompileContext. Rearranged the DeleteHandler::flushAll call.
2007-07-05 18:33:20 +00:00
Robert Osfield
c0a8c9dd53
Added texture format into Traits.
2007-06-27 10:12:10 +00:00
Robert Osfield
5f088ef914
Set the Traits::supportsResize flag to true in default constructor.
2007-06-23 21:54:56 +00:00
Robert Osfield
e01e50c271
Moved the className, libraryName and isSameAs into public.
2007-06-12 15:32:04 +00:00
Robert Osfield
8c10301d30
From Andre Garneau,"Please find attached changes to have the GraphicsWindowWin32 class
...
selectively set the pixel format for windows that are inherited, following
some discussions on the mailing list last week.
This is implemented through a new traits flag
(setInheritedWindowPixelFormat) with a default state of false (to avoid
breaking existing applications). When set to true, the pixel format of the
inherited window will be set according to the traits specifications.
"
2007-05-17 10:33:44 +00:00
Robert Osfield
aa28f60357
Added WindowData structures to GraphicsWindowX11,Win32 and Carbon to help support
...
GraphicsWindow inheriting their window handles from an external toolkit
2007-03-16 13:22:05 +00:00
Robert Osfield
083618cc65
Added inheritedWindowData member variable to Traits.
2007-03-11 11:48:03 +00:00
Robert Osfield
ad3cac84e9
Moved Block, ReentrantMutex and ReadWriteMutex into OpenThreads.
2007-02-23 16:31:34 +00:00
Robert Osfield
526ba8c506
From Stephan Huber, "I added a bool to GraphicsContext::Traits to indicate wether to use the
...
multithreaded-opengl-engine on os x or not. I set its default to false,
perhaps other os x users can test this setting with their data/apps, to
see if we can enable it by default.
I changed also the borderless-window-type, so expos?works correctly."
2007-02-16 13:33:29 +00:00
Robert Osfield
cfe737c552
Tweak API and updated wrappers to get wrappers to build
2007-02-05 14:56:41 +00:00
Robert Osfield
69da91620f
Convert GraphicsThread/GraphicsOperation to more generic OperationsThread/Operation.
...
This paves the way to running cull traversals in seperate threads.
Updated wrappers
2007-02-02 22:30:36 +00:00
Robert Osfield
8dfc5155f4
Further work on new threading model.
2007-01-31 22:24:20 +00:00
Robert Osfield
552293eb03
Added extra methods WindowSystemInterface for controlling frame rate and resolution, and adde useCursor flag.
2007-01-17 21:11:57 +00:00
Robert Osfield
d6d1a46db9
From Stephan Huber, GraphicsWindowCarbon implementation
2007-01-09 10:06:20 +00:00
Robert Osfield
16d1c00a3d
Changed the return types of makeCurrent to bool, and added a bool GraphicsContext::releaseContext method
...
along with implementations in osgViewer.
2007-01-08 19:29:59 +00:00
Robert Osfield
4a5eda6522
Added GraphicsContext::ResizedCallback and GraphicsContext::resizedImplementation.
...
Added message on non implementation of GraphicsContext::valid().
Added prelimary GraphicsContext clean up support.
2007-01-08 16:20:10 +00:00
Robert Osfield
9fcace0e73
Added GraphicsContext support for clearing the graphis context. The clearing
...
is off by default (ClearMask is 0), but can be switched on when ClearMask is
non zero. GraphicsContext::clear() is called after each swap buffers
2007-01-05 15:24:06 +00:00
Robert Osfield
7155f7d1b0
Various work on osgViewer library, including warp point and graphics window resize support
2007-01-01 18:20:10 +00:00
Robert Osfield
39c0c2df76
Unified the osg::GraphicsThread::Operation and osg::GraphicsContext::Operation classes
...
as osg::GraphicsOperation. Unpdated parts of OSG depending upon these.
Added a virtaul bool valid() method to osg::GraphicsContext to allow apps to
test whether a valid graphis context has been created or not.
2006-12-24 16:40:19 +00:00
Robert Osfield
76461b3ab2
Added support for sample and sampleBuffers to osg::GraphicsContext::Traits and
...
cleaned up the Traits naming
2006-12-22 21:53:44 +00:00
Robert Osfield
4fc9af7ea0
Moved rendering support into GraphisContext, osgViewer::Viewer/View, and
...
added frame stamp updating and update traversal to osgViewer::Scene/Viewer.
Updated osgcamera example to use new Viewer API calls instead of using local
rendering calls.
2006-12-21 16:56:20 +00:00
Robert Osfield
dcebe4daa0
Added initial GraphicsWindowX11 implementation, and fleshed out more of the
...
osgViewer and osg::GraphicsContext/osg::View infrastructure.
2006-12-19 16:00:51 +00:00
Robert Osfield
afc77f9b39
Added support WindowingSystemInterface for querring the number of screens, the screen size and creating GraphicsContexts.
2006-12-17 20:49:01 +00:00
Robert Osfield
f1c2694c17
Updated copyright years.
2006-07-18 15:21:48 +00:00
Robert Osfield
caaeaee321
Fixed typo
2005-09-01 19:12:06 +00:00
Robert Osfield
aba3b4fa67
Clean up and fixes to GraphicThread class, and osgcamera example.
2005-08-30 14:41:08 +00:00
Robert Osfield
ac07e07705
Further work on GraphicsContext/GraphicsThread
2005-08-20 08:59:03 +00:00