Commit Graph

1305 Commits

Author SHA1 Message Date
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
Robert Osfield
4eb8427327 From Michael Hartman, " Here is the MFC_OSG example. It is very basic and the community is welcome to enhance/improve this example. There is one bug documented in the Readme.txt file that I just have not had time to solve. Also, the code is built outside of the OSG environment and uses environment variables to get to the OSG distribution headers and examples. That should be the only change a user needs to make to get the code to compile." 2007-05-11 08:19:46 +00:00
Robert Osfield
8c7b5b5865 Added supoort for transforming layers by an offset and scale 2007-05-10 18:07:54 +00:00
Robert Osfield
bd194693dd Added automatic enabling of blending when alpha value != 1.0 occur in the color
or transfer function data.
2007-05-10 12:33:56 +00:00
Robert Osfield
6c74589014 Added signOrZero template method, and to Matrix_implementation.cpp usage of this
method in the get(Quat&) code.
2007-05-09 09:26:33 +00:00
Robert Osfield
2d0fd3a645 Further work on dome correction 2007-05-08 15:32:35 +00:00
Robert Osfield
00e1af1902 Firt cut at full dome correction of wrap around movies and imagery 2007-05-08 12:18:57 +00:00
Robert Osfield
af5b6aa43e Added CartizianLocator 2007-05-03 16:23:19 +00:00
Robert Osfield
8c9ec06447 Added OpenThreads to TARGET_COMMON_LIBRARIES 2007-05-03 10:10:23 +00:00
Robert Osfield
40db1a8934 Moved VBO switching code into inline methods into osg::State to speed performance 2007-05-01 06:28:20 +00:00
Robert Osfield
efb52dfab9 Added TerrainNode::setColorFilter(layerNum,Filter) to allow developers to set
what type of texture filter to use, either LINEAER and NEAREST.
2007-04-30 09:47:35 +00:00
Robert Osfield
2929667dc4 Added using of VertexBufferObject and ElementsBufferObject classes 2007-04-26 16:50:35 +00:00
Robert Osfield
2ca0075426 Added --static and --vbo options to allow the user to toggle on/off dynamic updating
of geometry and use of vertex buffer objects.
2007-04-25 15:32:33 +00:00
Robert Osfield
ef84805d5a Added SETUP_COMMANDLINE_APPLICATION and SETUP_COMMANDLINE_EXAMPLE macros 2007-04-12 09:59:34 +00:00
Robert Osfield
2187b061fc From Eric Wing,
"Attached is a patch allows access access to the CMake MACOSX_BUNDLE
option. Now SETUP_APPLICATION and SETUP_EXAMPLE take an additional
optional parameter that specifies if the program is a command line
application or a GUI application (think: IS_COMMANDLINE_APP). Passing
1 means true (is_commandline_app). Passing 0 or omitting the parameter
means false.

I changed the scripts for osgversion and osgunittests to support this
option because I believe they are command line apps. Are there any
others?"
2007-04-12 09:33:24 +00:00
Robert Osfield
4ba0a43ffc From Eric Wing, "Minor robustness fix to osgsimpleviewerCocoa." 2007-04-12 09:18:40 +00:00
Robert Osfield
17054afc8f Changed the parameter handling so that it supports left to right inheritance of settings 2007-04-11 11:20:42 +00:00
Robert Osfield
5be86601bb Removed old GNUmakefile.inst files 2007-04-10 13:58:18 +00:00
Robert Osfield
2e6ee4bb39 Removed old gmake and VisualStudio build files 2007-04-10 13:10:25 +00:00
Robert Osfield
e2ba8d91c0 Added extra check to prevent calling frame() when the window has been closed. 2007-04-06 19:38:22 +00:00
Robert Osfield
6d7b5e7ebd From Eric Wing, pedantic warning fixes 2007-04-06 15:36:13 +00:00
Robert Osfield
abb72cc182 Removed OpenThreads reference 2007-04-04 08:06:22 +00:00
Robert Osfield
43c24da12d Added setValue method and osg::Image setup to osg::TransferFunction1D, and setup
of TransferFunction1D into osgterrain example.
2007-04-02 13:06:59 +00:00
Robert Osfield
0c44e9ac19 Added creation of basic geoemtry to test Locator and extents 2007-03-29 14:45:35 +00:00
Robert Osfield
c996c545b7 From Eric Wing, "Added the conditionals for SDLMain." 2007-03-29 09:29:26 +00:00
Robert Osfield
cb811aa7cd Added support for compute the extents on local NDC coordiantes of the
elevation and colour layers
2007-03-28 16:28:20 +00:00
Robert Osfield
7fc714ada1 Removed deprecated drawImplementation(State&) method from Drawable and Drawable::DrawCallback 2007-03-28 11:30:38 +00:00
Robert Osfield
5c780aada0 From Luigi Calori, "here is a patch to use Mike 3rdParty dependencies
It should not be introusive to any other palatform apart MSVC, but in order to link to debug-specific libs
I had to change plugins CMakeLists to differentiate debug/release linkage, I have used the same macro used in core libs
Now the macro used for plugin and examples linking test for existance of TARGET_LIBRARIES_VARS
that holds the names of the variables that have to be used for linking"
2007-03-27 21:44:02 +00:00
Robert Osfield
4688d5ae8e Rearranged the traversal and initialization of TerrainTechnique 2007-03-27 16:01:01 +00:00
Robert Osfield
e76e4e82db Added EllipsoidLocator. 2007-03-27 11:23:57 +00:00
Robert Osfield
1cdda0654f Added Locator and layer setting to osgterrain example 2007-03-26 15:52:22 +00:00
Robert Osfield
4e2eaf4d0d Changed the external library specification to use TARGET_EXTERNAL_LIBRARIES 2007-03-26 09:48:02 +00:00
Robert Osfield
aa73c4a00f Removed OpenThreads from the list of TARGET_COMMON_LIBRARIES to prevent double
linking of OpenThreadsd and OpenThreads during debug build.
2007-03-25 11:47:08 +00:00
Robert Osfield
8b683c93c9 Added CMake build suppport for osgsimpleviewerQT4 2007-03-22 14:45:13 +00:00
Robert Osfield
c000d8e94c Added CMake QT3, FLTK and osgintrospection example build support. 2007-03-22 14:44:05 +00:00
Robert Osfield
e457914a40 Added CMake build support for GLUT and SDL examples 2007-03-22 14:06:27 +00:00
Robert Osfield
3a429b3f18 Fixed link name 2007-03-22 12:58:01 +00:00
Robert Osfield
541c3f13e9 Added GeometryTechinque to osgTerrain. Added usage of GeometryTechnique into osgterrain example
Added --width and --height command line options to osgdistortion to allow users
to control the window size.
2007-03-21 16:34:04 +00:00
Robert Osfield
c0f3c80a2b From Luigi Calori, clean up CMakeLists.txt 2007-03-20 11:19:00 +00:00
Robert Osfield
d9a94f7890 Moved the TARGET_NAME setting into the SETUP_APPLICATION/EXAMPLE macro 2007-03-19 17:18:59 +00:00
Robert Osfield
da64127539 Ran dos2unix on CMakeLists.txt files. 2007-03-19 13:26:34 +00:00
Robert Osfield
be3f61c49f From Luigi Calori, move to using local CMakeLists.txt files and explicit file lists.
From Robert Osfield, small ammendments of the above to seperate example and application installs, and fix the osgPlugins install directory.
2007-03-19 12:30:26 +00:00
Robert Osfield
794553700f Further work on osgterrain example 2007-03-19 10:38:44 +00:00
Robert Osfield
2c3ead29fa Added osgterrain example 2007-03-14 12:43:29 +00:00
Robert Osfield
fc02f7f8dc Added osgterrain to build 2007-03-14 12:42:21 +00:00
Robert Osfield
e5a9364577 Added IF(BUILD_OSG_WRAPPERS) arouind osgintrospection example 2007-03-12 21:13:15 +00:00
Robert Osfield
1fd22b8722 Added application_ and example_ before application and example projects.
Converted the application CMakeLists.txt and macros to work with the ADD_OSG_APPLICATION macro.

Removed the GDAL checks in the examples/CMakeLists.txt
2007-03-09 13:47:37 +00:00
Robert Osfield
d4303ceb73 Setting of binary/exe path moved to root CMakeLists.txt 2007-03-09 09:08:32 +00:00
Robert Osfield
6a6005caae From Luigi Calori, quick hack to make example compile in source. 2007-03-06 12:02:59 +00:00
Robert Osfield
71ec26ba62 From Luigi Calori, added marco support 2007-03-05 13:27:55 +00:00
Robert Osfield
0414332390 Fixed command line parameter reporting 2007-03-04 13:04:12 +00:00
Robert Osfield
9fa317c550 From Mike Wittman, updates to support new protected method support 2007-03-04 13:03:47 +00:00
Robert Osfield
267079e4d8 Added proper maths for distortion correction of pufferfish dome. 2007-03-02 16:14:44 +00:00
Robert Osfield
b00cbe5a17 Moved include/osgTerrain/DataSet/.cpp, gdal plugin and osgdem out into the VirtualPlaneBuilder project.
Updated examples to remove DataSet/GDAL dependency.

Updated wrappers
2007-02-27 21:12:48 +00:00
Robert Osfield
eb4ad4229f Moved osgProducer and osgproducerviewer out into their own repository.
Clean up the source for remaining references to osgProducer/Producer.
2007-02-27 13:16:18 +00:00
Robert Osfield
6a539c4110 Added --label and --subscript options to allow us to create custom logos 2007-02-27 11:51:32 +00:00
Robert Osfield
7f8f4e331a Completed changes to osgManipulator to make it more flexible w.r.t viewer usage, and
ported osgmanipulator example across of osgViewer
2007-02-26 13:01:17 +00:00
Robert Osfield
f43cd7332c Further work on add serialization support for osgViewer configurations 2007-02-25 20:05:23 +00:00
Robert Osfield
ad3cac84e9 Moved Block, ReentrantMutex and ReadWriteMutex into OpenThreads. 2007-02-23 16:31:34 +00:00
Robert Osfield
96f567eff3 Added bool View::Slave::_useMastersSceneData to help manage HUD's and RTT
cameras that are embedded in the Viewer's View
2007-02-23 11:53:45 +00:00
Robert Osfield
67a9ac2055 Added new --Viewer and --CompositeViewer for implementation of HUDs 2007-02-23 11:52:28 +00:00
Robert Osfield
76d98c7c42 Implement basic full dome correction with projecto pointing upwards and at center
of dome.
2007-02-22 16:42:59 +00:00
Robert Osfield
df0de03798 Moved distortion mesh creation out into seperate function 2007-02-22 11:17:45 +00:00
Robert Osfield
9a1ce56ce5 Wired up RTT cubemap cameras and simple distortion mesh. 2007-02-21 19:41:03 +00:00
Robert Osfield
228fd04a19 Removed the exclusion of CullSettings from the genwrapper.conf, and then changed the CullStack RefMatrix& methods to RefMatrix*
as the RefMatrix& versions caused the wrappers to fail.
2007-02-21 13:48:01 +00:00
Robert Osfield
5bba6b4167 Further work on dome RTT 2007-02-20 21:06:24 +00:00
Robert Osfield
fe8552bbd8 Added beginings of full dome correction support, starting with 6 slave camera
configuration.
2007-02-20 11:44:10 +00:00
Robert Osfield
fa9456f0b9 Added command line arguments descriptions 2007-02-19 16:59:52 +00:00
Robert Osfield
b348f4a815 Added -1, -2 and -3 model creation options to osgshadow example. 2007-02-19 16:45:42 +00:00
Robert Osfield
65ad3094a9 Added support for ShadowTexture and ShadowMap to osgshadow example 2007-02-19 15:26:14 +00:00
Robert Osfield
bc0fb12d0a Added option to use osgShadow::ShadowMap technique 2007-02-19 14:21:01 +00:00
Robert Osfield
9119f4d3c3 Added osgShadow::ShadowTexture set up 2007-02-16 10:19:15 +00:00
Robert Osfield
e096a5f44a Added enabling of the stencil buffer when setting up ShadowVolume path 2007-02-16 06:39:23 +00:00
Robert Osfield
edf050842a From Eric Wing, updates to XCode projects and introduction of two SDL OSX files to the osgsimpleviewerSDL example 2007-02-16 06:11:38 +00:00
Robert Osfield
dbb7c3c74c Added support for using the new osgShadow plugin as a psuedo loader such that:
osgviewer cow.osg.shadow

Or to ShadowVolume rechnique specifically:

  osgviewer cow.osg.sv.shadow
2007-02-15 22:28:32 +00:00
Robert Osfield
953899d0e2 Set the DataVariance of updating text to DYNAMIC 2007-02-14 12:42:10 +00:00
Robert Osfield
89c99a88fa Added computeDataVariance method into osg::Object and implementations in Drawable and StateSet,
and calling of osgUtil::StaticObjectDetectionVisitor in osgViewer::Viewer
2007-02-14 11:24:42 +00:00
Robert Osfield
1ac770aebc Fixed warning 2007-02-13 22:39:59 +00:00
Robert Osfield
da20b59aad Fixed warnings 2007-02-13 22:24:51 +00:00
Robert Osfield
8b104a2136 Added -losgText to example that used osgViewer but didn't previously include -losgText 2007-02-13 20:32:45 +00:00
Robert Osfield
f29ad5d0f2 Reduced the RTT texture size to 256x256 to make setup quicker 2007-02-13 15:57:01 +00:00
Robert Osfield
cd07fb61eb From Eric Wing, "Here are some updates for osgsimpleviewerCocoa.
New features and enhancements:
- Shared OpenGL contexts
- Multithreaded OpenGL Engine support
- Localizable string support
- Offscreen rendering (to framebuffer object) for:
 - Copy/Paste (to image) support
 - Drag-and-drop (as source image) support
 - Print to Printer/PDF
 - Dock minimization picture
- More robust initializer handling
- Fix to better handle hardware surfaces in NSScrollViews/NSSplitViews
- Use of respondsToSelector and instancesRespondToSelector to
demonstrate runtime feature checking to provide access to newer
features while still compiling on and supporting legacy versions

The new file "Localizable.strings" needs to be placed inside the
English.lproj directory."
2007-02-13 13:58:45 +00:00
Robert Osfield
b695160483 Added support for osg::Stencil into .ive 2007-02-13 13:47:37 +00:00
Robert Osfield
cc3d3c6d4c Added setDataVariance(DYNAMIC) to the scores text entires to prevent the
DrawThreadPerContext for crashing due to double buffering of dynamic data.
2007-02-13 11:32:28 +00:00
Robert Osfield
66274a632a Changed the BlendFunction StateSet to DYNAMIC 2007-02-13 09:38:07 +00:00
Robert Osfield
3fbd958716 Added setDataVariance(DYNAMIC) to _inputText to prevent problems when running in DrawThreadPerContext threading model. 2007-02-13 09:27:44 +00:00
Robert Osfield
d28a6011f1 From Mike Wittman, "Here is the next in the series of changes I'm making to OSG introspection to support the attributes needed for C# bindings. This change adds virtual/pure virtual attributes to MethodInfo and an explicit attribute to ConstructorInfo using the implementation strategy that David Callu recommended a few months back (thanks David!). This change updates both genwrapper and osgIntrospection, and assumes the osgIntrospection reference support that's still pending in your submission queue." 2007-02-12 17:59:18 +00:00
Robert Osfield
a725e0af7d From Mike Wittman, "These changes add support for reflection of reference and const reference type representations via osgIntrospection::Type. This covers just the static type information; the dynamic behavior via Type::createInstance/Type::InvokeMethod should not be affected." 2007-02-12 17:14:46 +00:00
Robert Osfield
3006bb14f4 Changed osgManipulator::Dragger::handle(..) method to use a nested PointerInfo
class to encapsulate the pixel coords, SceneView and picking operations in prep for
making the code more general purpose, and less reliant on classes like osgUtil::SceneView and osgUtil::IntersectVisitor.
2007-02-11 21:12:34 +00:00
Robert Osfield
19db0c1674 From Vivek Rajan, new osgManipulator library, with a few minor tweaks and rename for osgDragger to osgManipulator for build by Robert Osfield.
Vivek's email to osg-submissions:

"I'm happy to release the osgdragger nodekit to the OSG community. I
implemented the nodekit for my company, Fugro-Jason Inc., and they
have kindly agreed to open source it.

The nodekit contains a few draggers but it should be easy to build new
draggers on top of it. The design of the nodekit is based on a
SIGGRAPH 2002 course - "Design and Implementation of Direct
Manipulation in 3D". You can find the course notes at
http://www.pauliface.com/Sigg02/index.html. Reading pages 20 - 29 of
the course notes should give you a fair understanding of how the
nodekit works.

The source code also contains an example of how to use the draggers."
2007-02-11 10:33:59 +00:00
Robert Osfield
760cfeaadb Cleaned up osgshadow example so that it now relies upon osgShadow for its
shadow implementation
2007-02-09 21:31:29 +00:00
Robert Osfield
9aae37e357 Moved the basic ShadowVolume code into osgShadow 2007-02-09 16:03:29 +00:00
Robert Osfield
4c5eb02ec5 From Yefei He, " I wrote a class derived from CopyOp that preserves the multi-parent
structure of scene graphs. I only considered the case of DEEP_COPY_NODES,
but it is sufficient for me. It is not the most elegant way -- I used
a map to list all the already cloned nodes with multiple parents, to be
looked up whenever such a node is revisited. The good part is, it works."

From Robert Osfield, fixed build problems under Linux 64 due to use of int's to store Node*
in internal maps used in above custom CopyOp.  Added ref_ptr<> usage to main to
prevent memory leaks
2007-02-09 14:54:54 +00:00
Robert Osfield
95befaf1ed Flesh out more of basic ShadowTechnique and ShadowedScene API. 2007-02-08 17:23:40 +00:00
Robert Osfield
c2e79a2d89 Set the DataVariance to DYNAIMC for the StateSet of with the dynamically updating Uniform 2007-02-07 16:27:48 +00:00
Robert Osfield
3de205ec45 Added new Viewer threading model options 2007-02-06 14:38:08 +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
bee545b82d From Eric Sokolowski, added support for the new Text line spacing parameter to the .osg and .ive formats. 2007-02-02 16:51:59 +00:00
Robert Osfield
55661041d7 Added display listing of ShadowVolume 2007-01-30 17:12:33 +00:00
Robert Osfield
44dceef503 Added use of Viewe Realize graphics operation. 2007-01-28 17:12:57 +00:00
Robert Osfield
b8994d4707 Updated wrappers 2007-01-27 17:52:11 +00:00
Robert Osfield
f2c782dda4 Added light source. 2007-01-27 14:27:29 +00:00
Robert Osfield
137d9c1a6a Further work on shadow CullCallback 2007-01-27 12:54:58 +00:00
Robert Osfield
8625598e00 Further work on building the rendering back end from the intial traversal of the
scene graph
2007-01-26 21:22:35 +00:00
Robert Osfield
df7ab22414 Added custom callback to capture RenderBins 2007-01-26 09:44:49 +00:00
Robert Osfield
aa339f8e7a #ifdef'd out the artifical simulation time code 2007-01-25 12:16:38 +00:00
Robert Osfield
7232a831da Added osg::FrameStamp::set/getSimulationTime().
Added setting of osg_SimulationTime and osg_DeltaSimulationTime to the uniforms set by SceneView

Added frame(double simulationTime) and advance(double simulationTime) parameters to
osgViewer::SimpleViewer, Vewer and CompositeViewer.

Updated various examples and Nodes to use SimulationTime where appropriate.
2007-01-25 12:02:51 +00:00
Robert Osfield
3c96113970 Added ability to generate various cube faces for testing and switch handler to toggle between different models. 2007-01-24 11:18:27 +00:00
Robert Osfield
2fc6dd1942 Added cube test model. 2007-01-23 17:42:43 +00:00
Robert Osfield
bd7af070af Commented out the default saving of models 2007-01-23 16:27:07 +00:00
Robert Osfield
6b7652b1cb Added single screen option 2007-01-23 15:51:43 +00:00
Robert Osfield
fd9c8c5258 Added command line help 2007-01-23 14:43:07 +00:00
Robert Osfield
6b47ea31b5 Added delete selected object using delete and back space key, and added save option 2007-01-23 14:10:10 +00:00
Robert Osfield
4dea029608 Made two sided stencil the default 2007-01-23 13:16:47 +00:00
Robert Osfield
d614262ab7 Added stats and range of keyboard mouse handling to osgshadow example 2007-01-23 12:10:44 +00:00
Robert Osfield
ccc8a922a6 Added osg::StencilTwoSided state attribute to wrap up the stencil_two_sided extension.
Added path in osgShadow work for using StencilTwoSided to accelerate shadow volume rendering.
2007-01-18 22:32:18 +00:00
Robert Osfield
19a5682c33 Fixed compile warning 2007-01-16 21:40:43 +00:00