Commit Graph

1321 Commits

Author SHA1 Message Date
Robert Osfield
e0e98d3426 From Mike Weiblen, "an aesthetic enhancement for displaying important version information." 2008-01-28 20:52:31 +00:00
Robert Osfield
7761129f9b From Andy Skinner, build fixes for Solaris. 2008-01-18 21:07:03 +00:00
Robert Osfield
578f385760 From Mike Weiblen, support for geometry shaders, and osgeometryshaders example to demonstrate them. 2008-01-08 14:29:44 +00:00
Robert Osfield
a33a0047a4 Fixed warning 2008-01-08 14:22:59 +00:00
Robert Osfield
b222d4201c From Paul Martz, "The osgocclusionquery example contained some duplicate code that was also in the core OSG occlusion query code. This change removes the need for that." 2007-12-26 22:00:28 +00:00
Robert Osfield
dea067050c Renamed osgText::Font::SizePair to osgText::FontSizePair in prep for use this more
widely within osgText/freetype plugin.

Added support for inserting loading models into --mt multithreaded implementation.
2007-12-23 13:18:40 +00:00
Robert Osfield
4889342c4a From Paul Martz, Introduced osg::OcclusionQueryNode with support for OpenGL occlusion query extension 2007-12-21 14:45:16 +00:00
Robert Osfield
998ba32501 Added parsing of parameters to Viewer constructor. 2007-12-16 13:29:02 +00:00
Robert Osfield
fddcebd479 Added StateSetManipulator for testing purposes, and fixed typo 2007-12-16 13:25:40 +00:00
Robert Osfield
be5f709bdb From Mike Garrity, "There was an on again/off again thread on OSG users about
creating subclasses of osg::Array that referenced data
stored an application's internal data structures. I took
a stab at implementing that and ran into a couple of
downcasts in Geometry.cpp. Enclosed is my take at fixing
those along with a simple example of how to do this."
2007-12-11 15:55:02 +00:00
Robert Osfield
b668a54e17 From Eric Wing, "For osgviewerCocoa, a very simple change to allow toggling between
fullscreen mode and back between views. (To activate, double click on
the view to toggle.) It demonstrates/uses the new one-liner fullscreen
method introduced in Leopard. Code will still compile and run in
pre-Leopard (thanks to Obj-C dynamic/late binding), but code path is
treated as a no-op in those cases."
2007-12-10 20:36:34 +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
f69a48e552 From David Callu, added support of 3D text to osgText and associated plugins. 2007-12-10 15:15:56 +00:00
Robert Osfield
65bef96a6e From Peter Hrenka, "Due to popular demand I would like to submit this
enhanced version of PolytopeIntersector.


New features of PolytopeIntersector :

* Dimension mask: The user may specify the dimensions of the
   primitives to be tested. Checking polytope-triangle and
   polytope-quad intersections is rather slow so this can
   be turned off.
* Reference plane: The resulting intersections are sorted
   by the distance to this plane.

New memebers of PolytopeIntersector::Intersection :

* distance: Distance of localIntersectionPoint to the reference plane
* maxDistance: Maximum distance of all intersectionPoints to the
   reference plane.
* intersectionPoints: The points intersecting the planes of the polytope
   or points completely inside the polytope.
* localIntersectionPoint: arithmetic mean of all intersection points
* primitiveIndex: Index of the primitive that intersected


I added some more output to the example osgkeyboardmouse."
2007-12-08 16:37:05 +00:00
Robert Osfield
195ed8ba26 From David Cullu and Robert Osfield, David addded a new style of OSG integration with QT by sublcassing from QTWidget and using osgViewer to create the graphics context, Robert added integration of this codes
with the original AdapterWidget implementation still available by default.   The new implementation can be accessed by running:

  osgviewerQT cow.osg --QOSGWidget
2007-12-08 15:46:19 +00:00
Robert Osfield
0120bae9f7 From Jeremy Moles, "This extra call to SDL_VideoSetMode() prevents my viewport from getting
all wonky when I resize the SDL window. I'm not sure if this bug has
always existed or not, but according to the SDL documentation this
operation should be safe regardless, and doesn't not introduce the need
for extra memory management (that is: there is no need to "cleanup" the
old screen variable, that is all handled by SDL for us).
"
2007-12-08 15:04:47 +00:00
Robert Osfield
b112e15b13 From Bob Kuehne, added extra event handlers 2007-12-06 17:53:22 +00:00
Robert Osfield
188b196ca6 From Mathias Froehlich, "n examples/osgfadetext/CMakeLists.txt osgSim as dependency is missing." 2007-12-06 17:07:04 +00:00
Robert Osfield
5b305e37b0 From Mathias Froehlich, "Attached is a changed version of osgunittests.cpp. The __FUNCTION__
macro/string value is not portable. Instead the functions name is just put
into the string."
2007-12-06 17:01:22 +00:00
Robert Osfield
3d7fbeca28 Added testPolytope entry 2007-12-04 14:43:14 +00:00
Robert Osfield
ca9b2dc7db From Colin Dunlop, add --devices support. 2007-11-17 11:50:13 +00:00
Robert Osfield
2e2ddba49e Added support for setting volume in xine plugin, manual adjustment of volume
in osgmove example, and clamping to 0 to 1.0 range in quicktime plugin
2007-11-04 16:08:05 +00:00
Robert Osfield
b5f681b86f Changed the threading model to single threaded. 2007-10-05 09:03:51 +00:00
Robert Osfield
b3ecb8f38f From Mahai Radu, improvements to handling of spotlights 2007-10-03 12:48:23 +00:00
Robert Osfield
1dc06b4553 From Mihair Radu, "Most of the additions are small utility methods:
- set the resolution of the shadow map; it calls dirty() to
re-initialize at next update
- keep a list of Shader objects to use instead of the default ones, if
the list is empty, the default shaders are used
- explicitly create the Uniform variables, so that subsequent additions
that require more Uniforms can put them in a central place
- set a Light or LightSource to use explicitly for shadow casting,
allows multiple lights in the scene, with one casting shadows

There are two additions that do not ( yet ) function correctly, but in
the present usage they do not interfere with the regular usage of the
techique:
- support for using spotlights, it's using Light.spotCutoff to determine
if it's a spot-light and not point-light,
   there is an error in the setup of either the shadow camera or the
texgen, most likely due to the direction of the spotlight, since the
position is being used just like in point or directional lights.
- creation of a debugHUD
   the hud is created properly, ( the example included shows it ), but
it displays only white, there has been some discussion of displaying the
shadow map, but I could not find it, the addition of a simple fragment
shader with the appropriate color transform should get this going."
2007-10-02 21:45:09 +00:00
Robert Osfield
55d5a4d28a Introduced a OSG_PLUGIN_PREFIX variable into CMake build system with it set to
"" for all platforms except Cygwin where its set to "cygwin_" and Mingw where
it is set to "mingw_".  Updated osgDB::Registry to look for these for the plugins.
Updated the osgintrospection example to search for these names as well.
2007-10-02 21:26:22 +00:00
Robert Osfield
441b0c34bd Updated to reflect new CompositeViewer threading models 2007-10-02 21:24:23 +00:00
Robert Osfield
48f19b72bd Added support for CompositeViewer to WindowSizeHandler, ThreadingHandler, RecordCameraPathManipulator and HelpHandler. 2007-09-30 19:27:31 +00:00
Robert Osfield
4cf73d4c87 Changed HelpHandler so it supports use with CompositeViewer and Viewer 2007-09-30 19:15:32 +00:00
Robert Osfield
4ef1864432 From Stephan Huber, add basic support for CompositeViewer in StatsHandler 2007-09-29 11:41:57 +00:00
Robert Osfield
5b263f583f Added record path manipulator 2007-09-28 08:52:00 +00:00
Robert Osfield
41efd25660 Changed across to using a GraphicsOperation as the base class for the RealizeOperation. 2007-09-27 13:49:56 +00:00
Robert Osfield
6df0110d0c From Adrian Egli, "update the PSSM, i did some bug fixes and added new features to move the camera virtual against the view direction by applaying a simple distance factor (a), which is calculated camera eye - camera center distance. and we can move the "light camera" against the light direction (b).
(a) some objects behind the camera can cast shadow
(b) object aboive the camera can cast shadow

then i fixed the shadow map orientation, now screen x coordinate alinged which improve the quality"
2007-09-27 12:47:34 +00:00
Robert Osfield
501b3241c6 Added --flip argument docs. 2007-09-25 17:02:22 +00:00
Robert Osfield
61d0bc4eaf Added --flip option to allow one to flip the source data about the x axis. 2007-09-25 17:01:16 +00:00
Robert Osfield
b8ddf1f786 Removed all dome distortion correction code as this is now part of the core osgViewer.
Added viewer mode where movies are made fullscreen.  One can use the old interactive
camera mode by using --interactive parameter on the command line.
2007-09-25 15:01:11 +00:00
Robert Osfield
43eacc4cbc Preliminary PanoramicSphericalScreen support 2007-09-25 13:51:03 +00:00
Robert Osfield
d8cbd49471 Added thread unit test to test the create, start and destruction of threads 2007-09-25 10:18:50 +00:00
Robert Osfield
d11d5b819a From Adrian Egli, further work on PSSM implementation. 2007-09-24 15:24:23 +00:00
Robert Osfield
82b0f004e9 From Adrian Egli, update to ParallelSplitShadowMap. 2007-09-22 16:46:38 +00:00
Robert Osfield
609315caa5 From Luc Frauciel, "A few improvements to osgstereoimage:
- When using a large numbrer of files, the command line was too long;
Added a -files option that allow to store filenames in a file (one file
per line)
- Added some more intuitive key bindings for controls (left, right, + ,
-)
- Set the texture wrapping to CLAMP_TO_EDGE (it's cleaner now)
"
2007-09-21 09:02:03 +00:00
Robert Osfield
cf69352873 From Adrian Egli, ParallelSplitShadowMap implmentation.
Changes by Robert Osfield - CMakeLists.txt and name change to ParallelSplitShadowMap.
2007-09-19 11:56:44 +00:00
Robert Osfield
cb1c916e25 Ran conversion of tabs to four spaces 2007-09-14 11:00:32 +00:00
Robert Osfield
89428f743a Added _hudText->setDataVariance(osg::Object::DYNAMIC); to prevent from the
text being updated at the same time as being rendered.
2007-09-14 10:00:28 +00:00
Robert Osfield
2aff52be23 From Blake Williams, warning fixes 2007-09-13 10:21:47 +00:00
Robert Osfield
8e7e6529be From David Callu, warning fixes 2007-09-07 15:03:56 +00:00
Robert Osfield
7b73a58728 Added osgdepthpeeling example 2007-09-03 12:27:37 +00:00
Robert Osfield
07e94c8ce0 From Almalric Alexandre, "I've noticed that all osgViewerMFC example from osg 2.x.x are flickering when resizing 3D view, to avoid this only add OnEraseBkgnd callback in CMFC_OSG_MDIView class and do nothing in it. Just like the WxWidget example.
Attached the modified version of MFC_OSG_MDIView.cpp and MFC_OSG_MDIView.h."

Note from Robert Osfield, submission came with wrong header file, so have had
to guess at what it should be, fingers crossed it worn't break windows build... :-)
2007-09-03 10:04:34 +00:00
Robert Osfield
ecb8d5f8ab Fixed cancel loop. 2007-09-02 22:31:09 +00:00
Robert Osfield
8d1ef9906a Added support for running multiple text generation threads 2007-08-31 16:59:32 +00:00
Robert Osfield
f4d2d1241d Further work on osgTerrain::Locator and GDAL plugin 2007-08-30 19:26:52 +00:00
Robert Osfield
fb3bd9c921 Tweeked settings 2007-08-28 15:31:43 +00:00
Robert Osfield
eabe2faf7e Added multi-threaded test path 2007-08-28 14:02:16 +00:00
Robert Osfield
5b1b648ef5 Replaced CartesianLocator and EllipsoidLocator by a single general purpose
Locator class
2007-08-27 16:59:51 +00:00
Robert Osfield
b74083ad15 From Brandon Hamm, changed WxWindows example to use double buffering 2007-08-27 13:33:58 +00:00
Robert Osfield
5817d4c83e From David Spilling, tweaked quat tests to reproduce getRotate errors. 2007-08-27 09:51:24 +00:00
Robert Osfield
cb5fb828d0 From Jan Ciger, warning fixes 2007-08-26 10:27:31 +00:00
Robert Osfield
5050b9b5b1 Disable the escape sets done on the viewer 2007-08-24 09:45:11 +00:00
Robert Osfield
607f92e1fa From Mario Valle,
osgviewerWX: "To make the example compile using a wx build non UNICODE based.
Tested on Linux with wxGTK 2.8.4"

osgviewerFOX: "Added removeChore() call in the FOX_OSG_MDIView destructor to get rid of a Trace/BPT trap
error on exit on Linux. BTW this is suggested also in the FOX documentation."
2007-08-24 09:42:11 +00:00
Robert Osfield
a8fd0ddfca Removed Makefile as this is autogenerated. 2007-08-20 09:27:31 +00:00
Robert Osfield
1c6d46d07c Removed osgdepthshadow and osgshadowtexture from build list 2007-08-13 14:02:16 +00:00
Robert Osfield
d8d0f65e81 From Luc Frauciel, "I've done 2 main modifications :
1) added texture->setResizeNonPowerOfTwoHint(false); when loading an
image. It speeds up by 10 the loading of large images.
2) added a --disk option : only a filelist is read, images are only
loaded when needed. It allows to handle very large set of very large
images that would not fit in memory. Nothing change when the option is
not set."
2007-08-13 10:31:33 +00:00
Robert Osfield
abc2499e2d Removed now redundent osgshadowtexture and osgdepthshadow examples 2007-08-12 13:10:07 +00:00
Robert Osfield
2861ca6d1a Added support for SoftShadowMap into osgshadow example 2007-08-12 12:15:21 +00:00
Robert Osfield
d57a16e023 Added DisplaySetting::s/getCompileContextHint() and use of this hint in osgViewer::Viewer/CompositeViewer.
Removed the CustomViewer in osgterrain example as the above now removes the need for it.
2007-08-11 14:49:14 +00:00
Robert Osfield
4cd437d7d4 Refactored the use of the MasterOperation so that it now gets attached to the
Viewer via the new Viewer::addUpdateOperation() method, rather than need a 
custom Viewer::updateTraversal().
2007-08-11 12:43:31 +00:00
Robert Osfield
8248b6fac9 Removed now redundent ReaderWriterTerrain.cpp 2007-08-09 08:15:38 +00:00
Robert Osfield
1c6193ba78 Renamed osgTerrain::TerrainNode to osgTerrain::Terrain and introduced basic
.osg read support for osgTerrain::Terrain.
2007-08-07 19:53:57 +00:00
Robert Osfield
6dec61842d Introduce Camera::s/getRenderer(). 2007-07-28 10:28:40 +00:00
Robert Osfield
31ddff443a Fixed warning 2007-07-24 14:30:31 +00:00
Robert Osfield
6b4e2fbdf2 From Alexandre Amalric, Fox example
From Robert Osfield, CMake build support for FOX example
2007-07-24 14:02:53 +00:00
Robert Osfield
fee5bc9f8c From Michael Hartman, "Here is an update for the closing issue with the example osgviewerMFC where the MFC rendering thread would not exit before the application and the thread would be left running in the background and the user would have to use TaskManager to kill the process.
Changes:

MFC_OSG.cpp:

            Removed pixelformatdesciptor from the class initialization.

            Used setInheritedWindowPixelFormat to true so it will setup the pixelformat for the window.

            Added class destructor code.

MFC_OSG.h:

            Removed the ref_ptr on osgViewer::Viewer

MFC_OSG_MDIViewer.cpp:

            Changed the OnDestroy function code.

            Added WaitforSingleObject with thread handle for the MFC render handle.

MFC_OSG_MDIView.h:

            Added class variable for MFC Render Thread Handle for use with the WaitforSingleObject.
"
2007-07-23 20:37:49 +00:00
Robert Osfield
14fcf4f8b3 Converted usleep call to OpenThreads::Thread::microSleep() to avoid VS build problems 2007-07-21 20:11:16 +00:00
Robert Osfield
a4433e9af4 Added reset it to set block correctly before use. 2007-07-19 18:59:20 +00:00
Robert Osfield
1ed0e0a861 Improved the filtering of changes to master file to prevent using reading from
files that are still under going changes.
2007-07-19 17:02:37 +00:00
Robert Osfield
c3adce3ef4 Added osg::RefBlockCount subclassed from the new OpenThreads::BlockCount and used it into osgterrain example 2007-07-19 15:24:11 +00:00
Robert Osfield
fb1a34a8c5 Added support for using multiple load threads as a thread pool used by the MasterOperation 2007-07-19 12:09:25 +00:00
Robert Osfield
035f49c0b3 Refactored the viewer setup code to use a CustomViewer subclass of Viewer which
wraps up the set up of compile contexts and merging of changes.
2007-07-18 16:17:06 +00:00
Robert Osfield
ea5ca995e3 Merged the new master operation/operation thread code with older standard
terrain set up code.
2007-07-17 16:18:13 +00:00
Robert Osfield
04c1dee7a2 Fixed GraphcicsContext::getMaxContextID so it properly returns the current max contextID.
Fixed the osgviewer's compile context code to account for the above fix.

Added compile context support into osgterrain example.
2007-07-17 10:54:17 +00:00
Robert Osfield
610a76b210 Fixed typo 2007-07-17 09:15:08 +00:00
Robert Osfield
b132aed217 Work in progress on support for dynamically reading a master file in a background thread 2007-07-16 21:39:30 +00:00
Robert Osfield
e40d346fbb Added MasterOperation to do file querry and loading and background thread. 2007-07-16 17:40:38 +00:00
Robert Osfield
166ac4a7d3 Added custom colour support to TransferFunction setup. 2007-07-16 15:47:42 +00:00
Robert Osfield
d4aaa31549 Improvements to the .terrain file support 2007-07-16 15:13:47 +00:00
Robert Osfield
f9fab3c3b0 First steps at provide a .terrain file format to experiment with file
definitions of terrain subgraphs
2007-07-16 12:37:39 +00:00
Robert Osfield
b2535d55c6 Introduced new GUIEventAdatper singleton for sharing the current state between
multiple GraphicsWindows, this singleton is accessable via GUIEventEvent::getAccumulatedEventState().

Added use of this new singleton in GraphicsWindow* implementations.

Added WindowSizeHandler to osgkeyboard to help with debugging of event state
between windows.
2007-07-13 11:17:41 +00:00
Robert Osfield
92ffe6f74a Fixed spelling of cartesian. 2007-07-12 20:10:56 +00:00
Robert Osfield
691a49d0fa From Paul Melis, fixes to spelling mistakes/typos. 2007-07-11 15:51:17 +00:00
Robert Osfield
8779813837 Added support for --sky-light and headlight with local position at 0,0,0 2007-07-11 14:16:02 +00:00
Robert Osfield
2e53a2e95e Added test code path which stress tests new thread pool support in OperationsThread 2007-07-10 17:36:33 +00:00
Robert Osfield
2b84aa7760 Added dirty count support to osgTerrain::Layer clases.
Added LayerHandler to osgterrain example that modifies the layers in 
response to pressing the 's' and 'q' keys
2007-07-06 16:47:08 +00:00
Robert Osfield
9e2fe92ef1 From Rudolf Wiedemann, "I need to link OpenSceneGraph statically to my application, so I
completed the new registration of the plugin-readerwriters
("REGISTER_OSGPLUGIN") according to your osgstaticviewer-example (see
attachment, based on today's svn)."
2007-07-06 13:54:26 +00:00
Robert Osfield
6931ae4878 Added include/osg/GLObjects + .cpp which provide osg::flush*DeletedGLObjects() methods.
Added and cleaned up DeleteHandler calls in osgViewer to help avoid crashes on exit.

Changed DatabasePager across to dynamically checcking osg::getCompileContext(..)

Updated wrappers.
2007-07-06 13:08:51 +00:00
Robert Osfield
7a98691704 Added debug messages to catch key modified state 2007-07-05 18:32:12 +00:00
Robert Osfield
afc722d43b From Thibault Genessay, "You'll find attached a fix for the comments of the osgwindows example. It fixes a typo in the comments which is quite disturbing for newbies trying to learn using the source (twice 'left' instead of 'left' and 'right').
I've also added a little offset to the windows' positions so that their decoration falls inside the desktop and we can manipulate them - it looks a bit less "made out of wood"."
2007-07-03 17:32:19 +00:00
Robert Osfield
7f0b3144ea Added checking of GUIEventAdpter::getHandled(). 2007-07-03 13:26:48 +00:00
Robert Osfield
7dd9ea7a30 Added debug path that creates the viewer on the heap. 2007-06-30 14:28:24 +00:00
Robert Osfield
6c154441e2 Reorder the setProjectionMatrix.. mathod 2007-06-23 11:24:00 +00:00
Robert Osfield
581b1c322e Added setting of the Camera's projection matrix to fit the windowing aspect ratio. 2007-06-23 11:21:54 +00:00
Robert Osfield
1d78ea2983 Added explicit setting of updateText to have DYNAMIC data variance. 2007-06-21 16:14:54 +00:00
Robert Osfield
2f293ed60a Added passing of arguments into constructor. 2007-06-19 16:19:34 +00:00
Robert Osfield
5b4a7424f0 Removed OSGVIEWER_EXPORT 2007-06-19 09:16:36 +00:00
Robert Osfield
d4309ce69a Added use of GLSL filters 2007-06-18 12:10:46 +00:00
Robert Osfield
3485210545 For Win32 added BUILD_MFC_EXAMPLE option, default to OFF to try and avoid
issues with users without MFC installed.
--This line, and
2007-06-15 13:43:49 +00:00
Robert Osfield
5213856929 Added passing of arugments into viewer constructor 2007-06-13 15:32:17 +00:00
Robert Osfield
7016db5f26 Removed ParallelSplitShadowMap as its currently a non op. 2007-06-13 09:56:12 +00:00
Robert Osfield
89f30eb6cc Added StatsHandler 2007-06-12 18:58:32 +00:00
Robert Osfield
ade144ab0a Refactored the dome correction code to support movie flipping. 2007-06-12 18:56:52 +00:00
Robert Osfield
a7a0e2c4d3 Added Image::g/setOrigin to help movie plugins tell applications that the imagery
is not the usual OpenGL BOTTOM_LEFT orientation, but with the origin TOP_LEFT.  This
allows geometry setup code to flip the t tex coord to render the movie the correct way up.
2007-06-12 16:55:44 +00:00
Robert Osfield
26eb5672b9 Added in QT4 keyboard event adaption 2007-06-12 15:57:26 +00:00
Robert Osfield
cc0f1cb0fe From Martin Lavery and Robert Osfield, Updated examples to use a variation of the MIT License 2007-06-12 14:20:16 +00:00
Robert Osfield
bf8cc8c25b Build fixes for QT4 2007-06-12 10:19:27 +00:00
Robert Osfield
f64e8b2a96 Added screen number, and flip support into dome correction codes. 2007-06-12 08:29:32 +00:00
Robert Osfield
607ecf17cc Added support for specifying external overlay file. 2007-06-10 20:46:53 +00:00
Robert Osfield
b48ed1a4d4 Improved the set up of static build, added freetype plugin to plugins that support static usage 2007-06-10 09:51:29 +00:00
Robert Osfield
7ce05f6d9d Added default file in case no file arguments are provided. Changed to use
standard ThreadingHandler by default.
2007-06-09 19:18:24 +00:00
Robert Osfield
5ae95903b9 From Eric Wing, interface files 2007-06-08 16:47:18 +00:00
Robert Osfield
ce0f30cfcb From Martin Lavery and Robert Osfield, added fallbacks for when now command line args are provided. 2007-06-08 15:37:20 +00:00
Robert Osfield
c4b1c27a31 Added fallback for when no command line args are provied. 2007-06-08 15:29:04 +00:00
Robert Osfield
42043db0c9 Added default file when no command line options are supplied. 2007-06-08 15:11:04 +00:00
Robert Osfield
01f2114ddb Added fallback for when no command line args are passed in. 2007-06-08 15:06:08 +00:00
Robert Osfield
4b33409ce0 Added default command line arg 2007-06-08 12:15:16 +00:00
Robert Osfield
b3cec3d986 Added default file load to avoid the need for command line option. 2007-06-08 12:13:33 +00:00
Robert Osfield
c28aba4d4f From Eric Wing, build fix 2007-06-08 10:43:26 +00:00
Robert Osfield
6cb0cef26d From Eric Wing, build fix 2007-06-08 10:43:01 +00:00
Robert Osfield
f57875ad02 From Eric Wing, "So, something strange happened to the repo and some of this project's
files got messed up, most notiably the Nib and also the Localized
strings file. I didn't notice the latter until now so Martin is
missing this file.

Anyway, the attached tar contains all new versions of all the
necessary files. There are cleanups and fixes to a lot of things.
Martin did a good job porting the thing to osg::Viewer so most of the
code changes I made address other areas.

Two things I noticed in the new port you might want to consider as
feedback. First, there might be a bug with osgViewer when the view
size goes to 0. If you play with the splitviews in this program and
shrink the view until it is closed, and then re-expand it, the model
doesn't come back, not even after a home() call. SimpleViewer didn't
have this problem.

Second, a more minor thing, this program has a
take-screenshot--and-copy-to-clipboard feature via Cmd-C (or Menu
item). I achieve this by using osg::Camera to render to an FBO and
then copy the contents to Cocoa. To insert the camera, I manipulate
the scenegraph so I can get the camera node in and out. I end up
calling setSceneData at the end of eveything to restore everything to
the original state before I started mucking with the scenegraph. This
unfortunately, triggers a home() reset. So in this particular case, it
make Copy look like it's changing the scene. The old SimpleViewer had
the same problem, but I was able to work around it by directly
invoking the underlying SceneView's setSceneData so the home()
mechanism was bypassed. The viewer design seems to protect this data
more carefully so the bypass trick won't work. My feedback is that
maybe a flag or extra parameter can be introduced so a reset is not
triggered if not desired.

I have checked in a ton of Xcode fixes for the entire build process in
general so once this piece gets checked in, hopefully everything will
build cleanly."
2007-06-08 10:16:33 +00:00
Robert Osfield
0cd7dd12bc Added clean up of the view before destruction of the window 2007-06-08 09:45:11 +00:00
Robert Osfield
db86ea2d3f From Martin Lavery, StatsHandler added to the ViewerCocoa example 2007-06-07 20:22:45 +00:00
Robert Osfield
7470d80e4c From Martin Lavery, update of *.nib files 2007-06-07 13:49:30 +00:00
Robert Osfield
589e57446f From Martin Lavery, update of *.nib files 2007-06-07 13:48:15 +00:00
Robert Osfield
ee1f8856b8 From Martin Lavery, update of *.nib files 2007-06-07 13:44:35 +00:00
Robert Osfield
2f656780e1 From Martin Lavery, update of *.nib files 2007-06-07 13:31:50 +00:00
Robert Osfield
c386901efa From Martin Lavery, update of *.nib files 2007-06-07 13:25:34 +00:00
Robert Osfield
2073c842cf From Martin Lavery, port of ViewerCocoa and updates to Xcode projects 2007-06-07 12:55:19 +00:00
Robert Osfield
1504b54c1a Removed the old SimpleView version of the Cocoa example 2007-06-07 12:47:56 +00:00
Robert Osfield
b3a304866a Removed now not need SimpleViewer 2007-06-07 12:46:09 +00:00
Robert Osfield
0f132ab21e Added support for using quat_scaled sx sy sz for testing getting quats from scaled
matrices.  Removed broken Matrixd/quat test
2007-06-07 11:05:59 +00:00
Robert Osfield
8500995ffd Added #include<osg/Geometry> 2007-06-06 16:27:00 +00:00
Robert Osfield
00df23b781 Fixed includes 2007-06-06 16:23:20 +00:00
Robert Osfield
373088c358 From Martin Lavery, Updates to Xcode project 2007-06-06 13:45:50 +00:00
Robert Osfield
85c8797bc4 Moved HelpHandler and StatsHandler classes into ViewerEventHandlers header, removed HelpHandler and StatsHandler headers 2007-06-06 11:21:13 +00:00
Robert Osfield
6844ac0209 Moved SimpleViewer from osgViewer into the osgviewerCocoa example directory as this
is the only place in the OSG that now relies upon SimpleViewer.
2007-06-06 10:58:21 +00:00
Robert Osfield
4c2814945e Renamed osgmultiplecameras to osgcompositeviewer 2007-06-05 19:44:11 +00:00
Robert Osfield
18b305062a Renamed osgmultiplecamrea to osgcompositeviewer 2007-06-05 19:41:22 +00:00
Robert Osfield
04d1c77d92 Added CompositeViewer support into FLTK example 2007-06-05 19:40:07 +00:00
Robert Osfield
4f5a421c81 Added support for CompositeViewer 2007-06-05 19:10:18 +00:00
Robert Osfield
6576252211 Removed setting of font resolutions and added control of threading, with the default
theading set to SingleThreading to avoid crashes associated with non thread safe
sections of osgFX - the need to be fixed!!!
2007-06-04 19:33:59 +00:00
Robert Osfield
e25f04c4db Added control of threading model, setting default to SingleThreaded to avoid crash
associated with mixing useCursor(false) and multi-threading.
2007-06-04 17:11:40 +00:00
Robert Osfield
757c3c56b2 Fixed stray control character 2007-06-04 15:11:46 +00:00
Robert Osfield
8a38f80443 Cleaned up example 2007-06-04 14:47:16 +00:00
Robert Osfield
f3ec476d9f From Martin Lavery and Robert Osfield, ported fltk example to osgViewer::Viewer 2007-06-04 14:46:38 +00:00
Robert Osfield
ac739a2e6a Added local FindFLTK.cmake to avoid problems with FLTK no being found by standard
CMake FindFLTK.cmake.
2007-06-04 13:45:58 +00:00
Robert Osfield
a9d9d387df Fixed spelling of Receives 2007-06-04 08:38:11 +00:00
Robert Osfield
b5791629ea Added Viewer::setUpViewerAsEmbeddedInWindow convinience method 2007-06-03 09:34:28 +00:00
Robert Osfield
089b9dbd88 Removed osgsimple example 2007-06-03 09:11:41 +00:00
Robert Osfield
e9258849c3 Merged the osgviewerQT3 and QT4 examples into a single osgviewerQT example, and
ported across from SimpleViewer to using Viewer
2007-06-03 09:09:09 +00:00
Robert Osfield
14d1a325e5 Changed external library specication 2007-06-03 08:58:32 +00:00
Robert Osfield
b91bd278cc Ported across from SimpleViewer to using Viewer 2007-06-02 16:23:07 +00:00
Robert Osfield
ea990dddfa Ported QT3 example across to use osgViewer::Viewer, and made it possible to use the same source for both QT3 and QT4 2007-06-02 16:01:56 +00:00
Robert Osfield
179f903c90 Added osgViewer::GraphicsWindowEmbedded and ported GLUT, SDL and WX examples across from SimpleViewer to Viewer. 2007-06-02 15:31:21 +00:00
Robert Osfield
8edb2f7284 Ported GLUT example to using osgViewer::Viewer rather than SimpleViewer by using
a local GraphicsWindowEmbedded class to help the adaption.
2007-06-02 12:03:24 +00:00
Robert Osfield
0ab50f6100 Renamed all osgsimpleviewer* files to osgviewer* 2007-06-01 22:41:11 +00:00
Robert Osfield
33b6fdd6c6 Renamed osgsimpleviewer* examples to osgviewer* in prep for replacement of SimpleViewer by Viewer 2007-06-01 22:33:05 +00:00
Robert Osfield
9a0b39c34b From J.P Delport, "attached find an updated osgunittests.cpp that allows for the testing of
the matrix.getRotate() function when a matrix contains a scale as well
as a rotation.

The scale can optionally be switched off, see the top of
testQuatFromMatrix().

As expected, all the current methods for mat to quat conversion fail
these new tests. When the scale is omitted, mk2 of getRotate with sign
instead of signOrZero passes, as well as mk1.
"
2007-06-01 21:38:53 +00:00
Robert Osfield
c913f00d21 From Michael Hartman, "CMakeLists.txt:
Changed this back to setup_example since WIN32 flag is now supported.

 

MFC_OSG.h:

   Added flag to indicate when the rendering thread has exited.

 

MFC_OSG.cpp:

   Code modifications to support rendering flag thread exit.

 

MFC_OSG_MDIView.cpp:

   Change to OnDestroy function to wait until we get render thread exit flag is true before we close the window.

 

 

Main Exit Process:

   User presses escape button

   Viewer captures escape button and stops threading etc.

   Viewer sets Done when shutdown is complete

   MFC Render Thread monitors viewer->done for true

   MFC Render Thread exits while loop and sets MFC Done flag

   MFC View Window monitors MFC Done flag and then closes/destroys the window

"
2007-06-01 21:28:18 +00:00
Robert Osfield
604bd9b6d7 Removed setViewUpOnScreen settings 2007-06-01 19:21:41 +00:00
Robert Osfield
8dd2c34e4d Improved the handling of the -p path option 2007-06-01 19:01:06 +00:00
Robert Osfield
e741afb5be Added recording of camera paths 2007-06-01 11:21:57 +00:00
Robert Osfield
4a4bca88f5 Added support for specifying which screen number to place the window 2007-05-29 13:28:40 +00:00
Robert Osfield
11df762e08 From Olar Flebbe, "Visual Studio 2005 triggered a small glitch in UnittestFramework.cpp
Do not derefence it2 if it is at end()."
2007-05-29 09:57:18 +00:00
Robert Osfield
2528eabd0e Added --object, --ortho and --persp OverlayNode options 2007-05-28 15:44:37 +00:00
Robert Osfield
6a93e71f43 Improved the accuracy of the overlaynode settings 2007-05-28 15:17:27 +00:00
Robert Osfield
4abacc9d3d Added project down to base implementation. 2007-05-28 13:56:26 +00:00
Robert Osfield
784383ac08 Added camera event callback support into osgViewer 2007-05-27 17:29:29 +00:00
Robert Osfield
0ee956eb36 Added option for using the different overlay techniques. 2007-05-27 14:49:58 +00:00
Robert Osfield
90a24a103f Comment out the setting of single threading. 2007-05-25 19:32:15 +00:00
Robert Osfield
e775026697 Added osgstaticviewer example to demonstrate how to put a static lib built viewer 2007-05-25 15:25:39 +00:00
Robert Osfield
32931f90a8 From Luigi Calori, build fixes for Win32 build osg WxWidgets example 2007-05-25 13:15:00 +00:00
Robert Osfield
30a06a033e From Peter Hrenka, (note from Robert Osfield, renamed GenericPrimitiveFunctor mention below to TemplatePrimitiveFunctor).
"Since we desperately needed a means for picking Lines
and Points I implemented (hopefully!) proper geometrical tests
for the PolytopeIntersector.

First of all I implemented a new "GenericPrimiteFunctor"
which is basically an extended copy TriangleFunctor which also
handles Points, Lines and Quads through suitable overloads of
operator(). I would have liked to call it "PrimitiveFunctor"
but that name was already used...
I used a template method to remove redundancy in the
drawElements method overloads. If you know of platforms where
this will not work I can change it to the style used
in TriangleFunctor.

In PolytopeIntersector.cpp I implemented a
"PolytopePrimitiveIntersector" which provides the needed
overloads for Points, Lines, Triangles and Quads to
the GenericPrimitiveFunctor. This is then used in the
intersect method of PolytopeIntersector.

Implementation summary:
- Points: Check distance to all planes
- Lines: Check distance of both ends against each plane.
  If both are outside -> line is out
  If both are in -> continue checking
  One is in, one is out -> compute intersection point (candidate)
  Then check all candidates against all other polytope
  planes. The remaining candidates are the proper
  intersection points of the line with the polytope.
- Triangles: Perform Line-Checks for all edges of the
  triangle as above. If there is an proper intersection
  -> done.
  In the case where there are more than 2 polytope
  plane to check against we have to check for the case
  where the triangle encloses the polytope.
  In that case the intersection lines of the polytope
  planes are computed and checked against the triangle.
- Quads: handled as two triangles.

This is implementation is certainly not the fastest.
There are certainly ways and strategies to improve it.


I also enabled the code for PolytopeIntersector
in osgkeyboardmouse and added keybindings to
switch the type of intersector ('p') and the picking
coordinate system ('c') on the fly. Since the
PolytopeIntersector does not have a canonical
ordering for its intersections (as opposed to
the LineSegementIntersector) I chaged the
implementation to toggle all hit geometries.


I tested the functionality with osgkeyboardmouse
and several models and it seems to work for
polygonal models. Special nodes such as billboards
do not work.


The next thing on my todo-list is to implement
a an improved Intersection-Structure for the
PolytopeIntersector. We need to know
which primitives where hit (and where).

"
2007-05-23 11:05:59 +00:00
Robert Osfield
db2cef09b3 Reverting Luigi's addition of argv[1] as it breaks the build. 2007-05-21 13:15:26 +00:00
Robert Osfield
592143b018 From Luigi Calori, changed hardwired "cow.osg" paramter to argv[1] 2007-05-21 12:30:14 +00:00
Robert Osfield
9da1c67961 Converted tabs to 4 spaces 2007-05-21 12:28:25 +00:00
Robert Osfield
a441b1cf35 Made the near far ratio lower to allow one to be near the terrain before clipping
comes in to effect
2007-05-19 13:38:38 +00:00
Robert Osfield
95e77d02ec From Michael Hartman, "I have made a small change to the osgviewerMFC application that resolved most of my home computer issues. It seams that my home computer needed to have the pixel format set with PFD_DOUBLEBUFFER.
Also,  with the cmake ability you are free to remove the MFC_OSG_MDI.vcproj file.
"
2007-05-19 12:27:53 +00:00
Robert Osfield
de598bffaa From Lugi Calori, fix for Win32 build of osgsimpleviewerWX 2007-05-19 12:16:06 +00:00
Robert Osfield
79b274b3d6 Added range of CameranManipulators to allow us to navigate the scene freely 2007-05-18 09:49:30 +00:00
Robert Osfield
7a66aaca15 Added -f/--fixed option to allow use to freeze the animation of the cessna. 2007-05-18 09:43:25 +00:00
Robert Osfield
cf9518f346 Added support for View::setFustionDistance(..) 2007-05-17 19:58:57 +00:00
Robert Osfield
7f1cb32fc1 From Michael Hartman, "I have gone in and created a CMakeList.txt file for osgviewerMFC application.
Below is the changes made to the included files.  The examples CMakeList.txt file was not included but the code change needed for osgviewerMFC inclusion is listed below.

 

CMakeList.txt:

This is a little different than other example cmakelist.txt files in that I could not use the setup_example macro.   I had to go in and extract out the important parts of the macro and inline them in the CMakeList.txt file so that I could add the WIN32 declaration into the ADD_EXECUTABLE() statement.  In the future the setup_example macro might be modified to support osgviewerMFC but this is special case so you might not want to muddy the water for one example.

 

 

MFC_OSG.h:

This file had some small changes:

From: #include <osgViewer/GraphicsWindowWin32>

To:   #include <osgViewer/api/win32/GraphicsWindowWin32>

 

Also added two new function declarations

      Void PreFrameUpdate(void);

      Void PostFrameUpdate(void);

 

 

MFC_OSG.cpp:

This file changed only in that I am explicitly showing the viewer run loop and added the two new functions in the MFC_OSG.h file.

 

"
2007-05-17 11:04:57 +00:00
Robert Osfield
d80cf6b5ee Futher work on view dependent OverlayNode 2007-05-16 19:19:43 +00:00
Robert Osfield
7b644e6d82 Added -n/--no-overlay option 2007-05-15 14:53:58 +00:00
Robert Osfield
6096af0b99 From Mathieu Marache, "I tried the latest developper release 1.9.4 and found that I hadn't
the osgsimpleviewerQt4 example in my Visual studio solutions... After
looking into it it seems that you cannot have both Qt3 and Qt4
enabled. After modifying the root CMakeLists.txt to use :

FIND_PACKAGE(Qt)  which should ask you to choose betwwen Qt3 and Qt4
if you have both

instead of :

FIND_PACKAGE(Qt3)
FIND_PACKAGE(Qt4)

I had the project generated. But then due to the way CMake handles Qt4
I had to modify osgsimpleviewerQt4's CMakeLists.txt to have the binary
link with QtOpengl4. "
2007-05-15 11:31:09 +00:00
Robert Osfield
e41cd46da8 Set up new view dependent overlay technique control methods 2007-05-14 20:23:10 +00:00
Robert Osfield
74e968df76 Clean up comments and rebuilt wrappers.
Added extra event handlers to osgsimulator example
2007-05-14 16:14:40 +00:00
Robert Osfield
fac01b5a23 Replaced TARGET_ADD_LIBRARIES to TARGET_EXTERNAL_LIBRARIES for WxWidgets to avoid debug
issues
2007-05-14 16:13:33 +00:00
Robert Osfield
b97d8c0fe0 Added TerrainNode::init() and s/getTreatBoundariesToValidDataAsDefaultValue flag. 2007-05-13 09:54:51 +00:00
Robert Osfield
acb2ed177c Added ValidDataOperator base class and NoDataValue and ValidRange subclasses, and
support for it in osgTerrain::Layer and GeometryTechniqnue.
2007-05-11 18:25:06 +00:00
Robert Osfield
5e161ff0e0 Fixed CMake support for osgsimpleviewWX 2007-05-11 12:46:38 +00:00
Robert Osfield
925efc9685 From Gian Lorenzetto, osgsimpleviewWX example, CMake support added by Robert Osfield 2007-05-11 09:07:00 +00:00