Commit Graph

1942 Commits

Author SHA1 Message Date
Robert Osfield
c8190d9c54 Cleaned up osgWidget::VncClient and osgWidget::Browser so that their implementations are all more consitent with the osgWidget::PdfReader. 2008-12-09 11:05:04 +00:00
Robert Osfield
d8c17e4c4c Added support for setting background colour of Pdf document. 2008-12-09 09:26:51 +00:00
Robert Osfield
6f356aeb97 Intoduce new osgWidget::PdfReader and osgWidget::VncClient front ends to osgWidget,
with new pdf plugin and updated vnc plugin that now support these front ends.

Updated osgpdf and osgvnc examples to new these new interfaces.
2008-12-07 17:02:30 +00:00
Robert Osfield
3c611dcf30 Build fix for when implicit conversion in ref_ptr<> is switched off. 2008-11-29 11:35:03 +00:00
Robert Osfield
cd4b4b8bfe Added new examples 2008-11-28 14:37:58 +00:00
Robert Osfield
070b9c2cd9 From Cedric Pinson, updates to osganimation examples.
Merged by Robert Osfield, from OpenSceneGraph-osgWidget-dev
2008-11-28 14:37:16 +00:00
Robert Osfield
9b1841d009 From Jeremy Moles, updates to osgwidget examples.
Merged by Robert Osfield from OpenSceneGraph-osgWidget-dev
2008-11-28 14:36:39 +00:00
Robert Osfield
12bfb6d79a From Jean-Sebastien Guay, "osgautocapture uses M_PI to convert degrees to radians, which didn't compile on Win32. Switched to using osg::DegreesToRadians. Also removed the "convert to radians" comment on each line, as the code clearly conveys this without needing a comment now." 2008-11-27 09:45:41 +00:00
Robert Osfield
270fd48536 From John Vidar Larring, osgautocapture example that captures an image from a paged database by frame loop to the paging is complete, then takes a snapshot. 2008-11-26 11:23:06 +00:00
Robert Osfield
a7a7115581 Fix for build with OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION off 2008-11-25 15:57:27 +00:00
Robert Osfield
d08d778608 From Jaromir Vitek, "In attachment are another fixes for using packed depth+stencil (PDS).
* When used PDS RenderStage::runCameraSetUp sets flag that FBO has already stencil,depth buffer attached. Prevents adding next depth buffer.
* Sets correct traits for p-buffer if used PDS and something goes wrong with FBO setup or p-buffer is used directly.
* Adds warning to camera if user add depth/stencil already attached through PDS.
* Sets blitMask when use blit to resolve buffer.

There is also new example with using multisampled FBO."
2008-11-25 10:57:14 +00:00
Robert Osfield
2517c1e77e Improved the set of the master + slave cameras 2008-11-24 16:02:20 +00:00
Robert Osfield
6ae07ce0e2 From Roland Smeenk, "This application can be used for testing plugins that can both read and write a certain file format. It will display the original file next to the written and reread file.
Example:
osgsidebyside -o cow.dae cow.osg
 
This example will read cow.osg, write cow.dae, read cow.dae and display cow.osg on the left side and cow.dae on the right side of the view.
 
Possible interactions:
KEY_UP   Speedup DOF animation
KEY_DOWN SlowDown DOF animation
KEY_RIGHT Toggle all MultiSwitches"
2008-11-24 14:37:15 +00:00
Robert Osfield
d7ba995370 Updated wrappers 2008-11-24 10:13:27 +00:00
Robert Osfield
5b15436935 Added mechanism for tracking when interactive images are being rendered to
enable their backends to only rendered them when they are actively being rendered
in the OpenGL window.
2008-11-23 15:51:43 +00:00
Robert Osfield
9f55408ca3 Removed the optional build for osgWidget and plugins as these are options that are appropriate for building all the time 2008-11-22 14:30:21 +00:00
Robert Osfield
56a2cc65d0 From Cedric Pinson, Pulled in osgAnimation from OpenSceneGraph-osgWidget-dev into svn/trunk. 2008-11-22 12:14:19 +00:00
Robert Osfield
d903423ded From Jaromir Vitek, osgpackeddepthstencil example as a test case. 2008-11-21 12:38:22 +00:00
Robert Osfield
beae8ab67f Clean up osgbrowser after moving browser implementation into gecko plugin 2008-11-20 11:28:20 +00:00
Robert Osfield
5288263528 Moved Browser.h and Browser.cpp from osgbrowser into osgWidget. 2008-11-19 17:16:29 +00:00
Robert Osfield
35330867c5 Fixed component directory path handling. 2008-11-19 17:02:45 +00:00
Robert Osfield
094733def5 Refactored browser classes so that there is now a base class and reader writer. 2008-11-19 16:58:32 +00:00
Robert Osfield
297dd32011 Changed osgbrowser example to use a local CMakeModules/FindXUL.cmake script,
and specialization of GTK dependencies to only non Windows/OSX platforms.
2008-11-18 23:38:18 +00:00
Robert Osfield
a36ff70df4 Removed debug output 2008-11-18 17:20:45 +00:00
Robert Osfield
96188d0240 Moved update functionality into from UBrowserImage into update. 2008-11-18 14:46:02 +00:00
Robert Osfield
3b3d932d30 Added support for running all ubrowser operataions in a background thread. 2008-11-18 13:36:47 +00:00
Robert Osfield
8abd7c3a76 Fixed key mapping 2008-11-17 19:15:12 +00:00
Robert Osfield
37bd44042a Refactored the UBrowser functionality so a UBrowserThread singlton class takes
over more responsibility of integratation with llmozlib.
2008-11-17 17:58:59 +00:00
Robert Osfield
ca5c93a983 Removed dependency on GLUT. 2008-11-17 15:53:04 +00:00
Robert Osfield
5eaf95ed0f Ported example to using OSG objects for rendering rather than GLUT 2008-11-17 15:49:24 +00:00
Robert Osfield
39646d2dff Introduced xulrunner extensions from llmozlib2, and got things working under linux 2008-11-17 10:36:55 +00:00
Robert Osfield
2a1f7f0f7a Added GTK and GLUT guards to osgbrowser include 2008-11-14 16:54:07 +00:00
Robert Osfield
b62cb79c7e Further work on experiment llmozlib/geko based embedded web browser 2008-11-14 16:48:07 +00:00
Robert Osfield
d75cc7f84d An "attempt" at using LLMozLib sources as a base for a gecko based embedded browser. 2008-11-13 15:35:08 +00:00
Robert Osfield
ab9c0898c3 Moved Poppler-glib check into root CMakeList.txt 2008-11-12 22:54:12 +00:00
Robert Osfield
69effce44e Improved filepath handling, and increased the image resolution for better rendering quality 2008-11-12 14:57:30 +00:00
Robert Osfield
771dc7d645 Introduced new osgpdf example that use Cario + Poppler libraries to provide a means of rendering a pdf document to an osg::Image. 2008-11-12 14:21:05 +00:00
Robert Osfield
89829f8153 Added osgViewerGetVersion() into context creation code as a means of forcing windows to link in osgViewer properly. 2008-11-12 10:30:17 +00:00
Robert Osfield
c1568bb735 Improved naming 2008-11-11 17:59:35 +00:00
Robert Osfield
f1bb6592bb Tweaked comment 2008-11-11 17:30:11 +00:00
Robert Osfield
014246bef6 Added default fallback of a window context is none is otherwise specified. 2008-11-11 17:29:48 +00:00
Robert Osfield
7468904dd6 Added command line argument docs and support for -h/--help command line options 2008-11-11 16:59:58 +00:00
Robert Osfield
ee172b840c Added timing stats 2008-11-11 16:21:04 +00:00
Robert Osfield
3754dc4230 Added --geometry, --geometry-vbo and --geometry-va command line options and associated geometry test codes 2008-11-11 16:13:37 +00:00
Robert Osfield
4dd8ad2f16 Added --delay <microseconds> option that is run between each OpenGL object apply, defaults to 0 2008-11-11 15:00:29 +00:00
Robert Osfield
0de253ad2c Added support for fbo testing. 2008-11-11 12:50:51 +00:00
Robert Osfield
915a645761 First cut of osgmemorytest example that is written to allocate many windows/pbuffer/GL objects as test of how many objects can be allocated on a machine. 2008-11-10 20:06:27 +00:00
Robert Osfield
5bb6fe2ee7 Added support for Camera::PACKED_DEPTH_STENCIL_BUFFER to .osg and .ive formats 2008-11-09 11:56:02 +00:00
Robert Osfield
d75cd032b9 From Jean-Sebastien Guay, replaced M_PI with osg::PI. 2008-11-08 17:53:51 +00:00
Robert Osfield
720551d549 From Michael Platings, Converted std::fstream/ifstream/ofstream to osgDB::fstream/ifstream/ofstream and
fopen to osgDB::fopen to facilitate support for wide character filenames using UT8 encoding.
2008-11-07 15:08:08 +00:00
Robert Osfield
c7c1913561 From Ulrich Hertleinm "cmake 2.6 is having trouble on Mac OS X because example/CMakeLists.txt addes subdirectory osgviewerGLUT twice. I took the liberty to remove the second occurrence.
"
2008-11-06 13:40:35 +00:00
Robert Osfield
c80c7dd5b9 From Chris Denham, added transform to cube to test picking fixes 2008-11-06 13:36:25 +00:00
Robert Osfield
239c18eddb Removed redundent static ImageStream pointer 2008-11-05 16:06:25 +00:00
Robert Osfield
a063d1dfb0 Added --no-rescale, --rescale (default) and --shift-min-to-zero command line options for controlling how the pixel data is managed. 2008-11-05 15:59:48 +00:00
Robert Osfield
de4e08e868 Added --replace-rgb-with-luminance option 2008-11-05 15:04:38 +00:00
Robert Osfield
bc2e8034fe Fixed --images commandline parsing 2008-11-04 12:57:30 +00:00
Robert Osfield
9bba7bbee0 Refactored osgvnc example to utilise the new vnc plugin 2008-11-03 15:58:02 +00:00
Robert Osfield
521a951b58 Wrapped up the various client streaming methods + thread into VncImage classes. 2008-10-31 16:48:19 +00:00
Robert Osfield
f1cc01c6b8 Implemented keyboard and mouse dispatch from vnc client to vnc server. 2008-10-31 13:59:32 +00:00
Robert Osfield
bad9854d71 Added very basic osgvnc example that uses the LibVNCServer client libries for implementing a vnc client
as an osg::Image with the vnc data stream going to it.
2008-10-31 12:03:44 +00:00
Robert Osfield
4b28e22d34 From Lukas Diduch, added a multithread compsite viewer path, accessible using:
osgviewerQT --MTCompositeViewer --QOSGWidget cow.osg
2008-10-29 10:25:24 +00:00
Robert Osfield
649bc16753 From James Moliere, fixed display of axis 2008-10-29 10:12:02 +00:00
Robert Osfield
0b451491b0 From Chris Denham, changed nested Camera intersection test so that it requires the command line --relative-camera-scene to enable it 2008-10-27 19:59:05 +00:00
Robert Osfield
ff74744556 From Chris Denham, default scene that tests the use of in scene graph Camera which has a RELATIVE_RF ReferenceFrame. 2008-10-27 16:16:28 +00:00
Robert Osfield
b1c858d8f8 Fixed positioning of wings 2008-10-27 10:40:13 +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
36a93d9cf3 Converted M_PI* usage across to osg::PI 2008-10-14 16:44:14 +00:00
Robert Osfield
8c6f65caca From James Moliere,
"   The code below is to show how a heirarchy of objects can be made within a scenegraph.
    In other words, how there can be a parent/child relationship between objects such
    that when a parent is rotated or translated, the children move is respect to it's
    parent movement.  A robotic arm is used in this example because this is what I'm
    using OSG for."
2008-10-14 15:24:39 +00:00
Robert Osfield
e4057b65ee Removed geomoflife_frag.cpp experiement from CMakeList.txt file 2008-10-14 15:10:10 +00:00
Robert Osfield
3aebed206e From J.P Delport, game of life example that demonstrates ping pong render to texture rendering 2008-10-14 14:58:10 +00:00
Robert Osfield
907a51b198 Replaced usage of depreacted IntersectVisitor with IntersectionVisitor 2008-10-07 14:01:14 +00:00
Robert Osfield
1f4e712fd8 Improved the ImageSequence::setLength() settting. 2008-10-06 17:03:32 +00:00
Robert Osfield
3b4184295e Various improvements to the dicom loader to be able to handle a broader range of dicom files 2008-10-02 15:45:08 +00:00
Robert Osfield
66c857b645 Updated shaders 2008-09-29 18:30:17 +00:00
Robert Osfield
d4c6af753f Added support for using ImageSequence to animate volumes 2008-09-29 10:56:42 +00:00
Robert Osfield
38171cc1b9 Improved the isosurface shaders, and mde GLSL usage the default 2008-09-28 15:16:13 +00:00
Robert Osfield
d8cfc9b1f5 Improved GLSL isosurface support when using a transfer function 2008-09-26 15:47:31 +00:00
Robert Osfield
21865d3ec1 Added setting of various filters and setResizeNonPowerOfTwoHint(false) on normals maps etc. 2008-09-26 14:50:41 +00:00
Robert Osfield
5a9e957412 Added docs for read-threads <numthreads> command line options 2008-09-26 13:51:49 +00:00
Robert Osfield
026314bf83 Added --isosurface and --mip paths into osgvolume example, and added associted shaders 2008-09-26 11:29:00 +00:00
Robert Osfield
90ccb05fb1 From Mathias Froehlich, "for the rand functions stdlib.h is required ..." 2008-09-26 11:19:59 +00:00
Robert Osfield
a3d25add27 Added osg2cpp example into build 2008-09-25 14:41:27 +00:00
Robert Osfield
8c276a0b5e Created new osg2cpp utility that creates .cpp files from source shaders that can be included directly in application code, see osgvolume for an example. 2008-09-25 14:39:57 +00:00
Robert Osfield
134a2e69a0 Moved shaders into .cpp, with the shaders created by the new osg2cpp utility 2008-09-25 14:39:08 +00:00
Robert Osfield
4cb79dcddf From Jean-Sebastian Guay, fixed windows build 2008-09-24 16:03:47 +00:00
Robert Osfield
62331769ac Added shader based transfer function, enabled via --gpu-tf 2008-09-24 10:45:15 +00:00
Robert Osfield
169d9f550e Fixed transfer function parsing 2008-09-24 10:20:23 +00:00
Robert Osfield
edc966c4c2 Added "serialize" and plugin "preload" options in the "read-threads" code path. 2008-09-23 15:41:49 +00:00
Robert Osfield
1b02cf99dc Added read-threads <numThreads> command line and read thread test back end 2008-09-23 13:58:49 +00:00
Robert Osfield
b1c93f05f6 From Wojciech Lweandowski, added support for noew LispSM shadow technique (use --lispsm on CmdLine) and added IslandScene database (use -4 on CmdLine). 2008-09-23 09:59:23 +00:00
Robert Osfield
55d4756d31 Added support for reading raw data and transfer function from a volume header 2008-09-22 17:24:26 +00:00
Robert Osfield
65cb2e625f Added --page-and-discard, --page-and-retain, --preload and --length command line options 2008-09-22 16:18:02 +00:00
Robert Osfield
260334e4fe Added stats handler 2008-09-22 15:56:22 +00:00
Robert Osfield
21686c27af From Mathias Froehlich, "I did some performance test runs with the development gcc-4.4 version.
To make it compiel with future gcc's we sppear to need the attached missing
includes ..."
2008-09-18 10:52:35 +00:00
Robert Osfield
274aa49f8a From Christophe Loustaunau,"
I have found some errors on the example osgGeometryShaders. It's about the varying in the geometry shader.
take a look at the varying vec4 v_color.
In the vertex shader, v_color is initialized to gl_vertex
then in the geometry shader v_color is initialized to gl_PositionIn[0]
and in the fragment shader v_color is used as the fragment color.

Try to initialized v_color to vec4(1.0, 0.0, 0.0, 1.0) in the vertex shader and comment the line :
"    v_color = v;\n"  in the geometry shader, and you will see the lines as black !

It's because you have to use keywords in and out.

extract from : http://www.opengl.org/registry/specs/EXT/geometry_shader4.txt :

in - for function parameters passed into a function or for input varying
variables (geometry only)

out - for function parameters passed back out of a function, but not
initialized for use when passed in. Also for output varying variables
(geometry only).

Then for a geometry shader, a varying must be an array :
extract from : http://www.opengl.org/registry/specs/EXT/geometry_shader4.txt :

Since a geometry shader operates on primitives, each input varying variable needs to be
declared as an array. Each element of such an array corresponds to a
vertex of the primitive being processed. If the varying variable is
declared as a scalar or matrix in the vertex shader, it will be a
one-dimensional array in the geometry shader. Each array can optionally
have a size declared. If a size is not specified, it inferred by the
linker and depends on the value of the input primitive type.


Here is a patch based on the svn version of osg that correct that.
"
2008-09-17 17:25:39 +00:00
Robert Osfield
22eae68e48 From Mathias Froehlich, "This is a generic optimization that does not depend on any cpu or instruction
set.

The optimization is based on the observation that matrix matrix multiplication
with a dense matrix 4x4 is 4^3 Operations whereas multiplication with a
transform, or scale matrix is only 4^2 operations. Which is a gain of a
*FACTOR*4* for these special cases.
The change implements these special cases, provides a unit test for these
implementation and converts uses of the expensiver dense matrix matrix
routine with the specialized versions.

Depending on the transform nodes in the scenegraph this change gives a
noticable improovement.
For example the osgforest code using the MatrixTransform is about 20% slower
than the same codepath using the PositionAttitudeTransform instead of the
MatrixTransform with this patch applied.

If I remember right, the sse type optimizations did *not* provide a factor 4
improovement. Also these changes are totally independent of any cpu or
instruction set architecture. So I would prefer to have this current kind of
change instead of some hand coded and cpu dependent assembly stuff. If we
need that hand tuned stuff, these can go on top of this changes which must
provide than hand optimized additional variants for the specialized versions
to give a even better result in the end.

An other change included here is a change to rotation matrix from quaterion
code. There is a sqrt call which couold be optimized away. Since we divide in
effect by sqrt(length)*sqrt(length) which is just length ...
"
2008-09-17 16:14:28 +00:00
Robert Osfield
0598ac3b69 Updated osgwidget examples to use the new osg::clone() methods 2008-09-17 14:23:25 +00:00
Robert Osfield
6ea2adf1f5 Introduced beginings of osgVolume NodeKit. 2008-09-16 15:32:23 +00:00
Robert Osfield
b5474780c3 Change the GLSL textureRec and texture2D parameters to use .st to make sure they only use 2D coords.
Add setResizeNonPowerOfTwoHint to false for Texture2D.
2008-09-16 09:31:29 +00:00
Robert Osfield
d07f3d5662 Added optional usage of DCMTK in the dicom plugin 2008-09-15 19:59:12 +00:00
Robert Osfield
b55ed0c56b Added reading of whole directories of images 2008-09-13 13:38:06 +00:00
Robert Osfield
b000198cc4 Removed use of ints and reading from gl_FragColor in shader 2008-09-12 15:41:30 +00:00
Robert Osfield
ff299eb104 Introduced osgTerrain::WhiteListTileLoadedCallback for the management of options terrain layers 2008-09-11 13:21:58 +00:00
Robert Osfield
a214a677f8 First cut of WhiteListTileLoadedCallback 2008-09-11 10:40:48 +00:00
Robert Osfield
4f6b405edf Added support for reading source image file names from the command line. 2008-09-11 09:05:16 +00:00
Robert Osfield
b4b5b5ea41 Introduced TerrainTile::TileLoadedCallback 2008-09-10 18:11:54 +00:00
Robert Osfield
b0cf7823a7 Added playing of the imagesequence on creation of the imagesequence 2008-09-10 11:27:00 +00:00
Robert Osfield
5484981693 Removed std:: from in front of strcmp and added a string.h 2008-09-01 10:19:06 +00:00
Robert Osfield
9499cfa420 Improved the GLSL implementation. 2008-08-26 17:40:04 +00:00
Robert Osfield
6c047f7abe Added testing of max texture size using a realize operation 2008-08-25 11:37:53 +00:00
Robert Osfield
94c6c9d32a Added support for event handler for non shader path, enable alpha func 2008-08-25 10:38:39 +00:00
Robert Osfield
8d8852bc23 Added command line arguments to Viewer constructor, and added meaningful error message when no 3d image is provided 2008-08-25 09:53:24 +00:00
Robert Osfield
f5105510f3 Added support for reading the image transform from UserData in the form of a Matrix. 2008-08-22 16:35:49 +00:00
Robert Osfield
3cec676d98 Added --mip command line option which enables Maximum Intensity Projection filtering 2008-08-18 15:08:04 +00:00
Robert Osfield
38f6cddc2c Changed osg::ImageSequence::set/getDuration to set/getLength() to be in keeping with the
osg::ImageStream's getLength().
2008-08-15 16:21:44 +00:00
Robert Osfield
b6292f4537 Fixed the name of _playToggle 2008-08-15 13:07:04 +00:00
Robert Osfield
927942a0f8 Further work on osg::ImageSequence, improving pause functionality, and introducing new seek(double time) method 2008-08-15 12:45:20 +00:00
Robert Osfield
56001f3d82 Added event handler to toggling looping and play/pause 2008-08-14 16:28:45 +00:00
Robert Osfield
5cac386fa6 Renamed enums in osgWidget from ALLCAPITALS to normal OSG conventional of AllCapital 2008-07-25 20:50:42 +00:00
Robert Osfield
c9dc578186 Added support for pruning old images, recording the Duration in the .osg file, and -o filename output support in osgimagesequence. 2008-07-22 16:44:49 +00:00
Robert Osfield
66c2add024 Improved position when multiple videos are provided 2008-07-22 15:58:40 +00:00
Robert Osfield
669d6be0b2 Fixed handling of TextureCubeMap's with mipmapped/ImageSequence/PBO's. 2008-07-22 14:47:59 +00:00
Robert Osfield
041a06b89d Further work on osg::ImageSequence/osgDB::ImagePager 2008-07-21 21:00:57 +00:00
Robert Osfield
acd7e65687 Added basic image sequencing 2008-07-21 17:28:22 +00:00
Robert Osfield
dc19bcc7e0 Added --login <url> <username> <password> http authentication. 2008-07-21 15:05:08 +00:00
Robert Osfield
ac61676368 Initial cut of osgimagesequence example 2008-07-21 10:57:06 +00:00
Robert Osfield
b068777c22 Refactored the MultiTextureControl node callback so that the update is now
done as an update callback, with the elevation aquired via a cull callback
2008-07-16 15:58:15 +00:00
Robert Osfield
a20e5791d9 From Jeremy Moles, Updated file references to reflect new data in OpenSceneGraph-Data 2008-07-15 22:30:51 +00:00
Robert Osfield
8fe0820bb8 Converted tabs to four spaces 2008-07-15 22:03:59 +00:00
Robert Osfield
b343cbfc5f Removed now redundent example 2008-07-15 19:23:48 +00:00
Robert Osfield
f1138fa684 From Jean-Sebastian Guay, "Here are the CMakeLists.txt files for the osgWidget examples, changed to use SETUP_EXAMPLE like the other examples." 2008-07-15 18:53:16 +00:00
Robert Osfield
43cedf9eb4 Fixed typo 2008-07-15 18:12:17 +00:00
Robert Osfield
c2b77aa08e From Jeremy Moles, import of the osgWidget NodeKit, sourced from the original http://osgwidget.googlecode.com/svn/trunk
Notes from Robert Osfield, I've merged osgWidget trunk, and added/changed CMakeLists.txt file to make it suitable for inclusion in the core OSG, and moved imagery/scripts/shaders out into OpenSceneGraph-Data
2008-07-15 17:21:25 +00:00
Robert Osfield
ccb50019e4 Cleaned up osgkdtree example 2008-07-12 11:19:25 +00:00
Robert Osfield
2b5708888e From Adrain Egli, "i added a default scene with 7 different draggers attached. it's more easy to test the draggers." 2008-07-11 19:52:25 +00:00
Robert Osfield
15e5bdbcae Added range of camera manipulators and a center of screen test intersection that
is insticated by pressing 'c' key
2008-07-09 19:28:00 +00:00
Robert Osfield
3965fe357b Moved KdTree build code into osg::KdTree 2008-07-06 12:14:19 +00:00
Robert Osfield
44d144997e Added prelimnary KdTree data structure and automatic kdtree build support
into osgDB::Registry/osgTerrain so that newly created subgraphs can have 
KdTree built on all osg::Geometry automatically on load/creation.
2008-07-04 15:57:48 +00:00
Robert Osfield
e2ae39c8f6 Introduced bounding boxes to KDLeaf and KDNode structs 2008-07-03 17:18:14 +00:00
Robert Osfield
178d6ff423 Added new data structure + build algorithm that places triangles into leaves
without being shared, but with varying the boundaries of leaves so that they
may overlap.
2008-07-03 15:49:28 +00:00
Robert Osfield
7db303b16b Added header guards 2008-07-03 11:23:44 +00:00
Robert Osfield
f0defbd824 Refactored example so that the example will be able to run different kdtree data strucutres/algorithms. 2008-07-03 11:22:23 +00:00
Robert Osfield
1729ec0819 Implement an experiemental triangle kdtree building support 2008-07-03 10:24:20 +00:00
Robert Osfield
82ed445a31 Added Vec3Array arrange pointer to avoid dynamic cast 2008-07-01 13:56:02 +00:00
Robert Osfield
12044a43d9 From Eric Sokolowski, Cmake support for osgviewerCocoa 2008-06-26 13:08:24 +00:00
Robert Osfield
275811d02a From Eric Sokolowsky, "I have made a number of changes intended to get a few things working better on OSX. However, since I'm still pretty new at Mac development and cmake I'm not entirely certain that the changes I have made are benign on other platforms. I have tested these changes on Leopard with CMake 2.6 generating Xcode 3.0 projects, compiling on ppc and i386 for 10.5 and 10.4, and on Linux (CentOS) and everything still seems to work ok. Here are the changes I made (against OSG svn as of this afternoon):
- Added osgviewerCocoa example to APPLE builds
- Fixed corrupt Xcode project generation with CMake 2.6 dealing with ADD_DEFINITIONS and CMake Policy CMP0005 on Leopard
- Resolved CMP0006 warning for examples and programs by setting BUNDLE DESTINATION to same as RUNTIME DESTINATION with CMake 2.6
- Fixed freetype plugin on Leopard to avoid OpenGL linking problem
- Figured out how to use a custom Info.plist included in the project (see osgviewerCocoa application CMakeLists.txt)"
2008-06-23 09:57:45 +00:00
Robert Osfield
113a77b219 Converted tabs to four spaces 2008-06-21 11:34:01 +00:00
Robert Osfield
37d81679b7 From Paul Melis, "Here is a reworked version of the osgviewerWX example. It changes the GraphicsWindowWX to only inherit from osgViewer::GraphicsWindow and adds a standalone widget, called OSGCanvas, that derives from wxGLCanvas. This solves a problem with the GraphicsWindowWX instance being destructed twice (see "Crash in osgviewerWX" of June 12th on osg-users). At program exit, the main frame deletes all of its children widgets and therefore calls GraphicsWindowWX's destructor, bypassing OSG's reference counting. The GraphicsWindowWX instance is then later destructed a second time when the reference held by osg::Camera goes to zero. This bug isn't exposed by the example directly, but if people are going to use the example as a basis (like the poster in the mentioned thread) they very likely will run into this problem.
"
2008-06-19 13:49:36 +00:00
Robert Osfield
7ae28bea0d Added --fbo-samples value and --color-samples value command line paramters for enabling fbo multisampling 2008-06-18 14:21:22 +00:00
Robert Osfield
20e6ec7b23 From Jean-Sebastien Guay, "The new osgscreencapture example was being installed to bin instead of to share/OpenSceneGraph/bin, this is because the CMakeLists.txt used SETUP_APPLICATION instead of SETUP_EXAMPLE. Corrected CMakeLists.txt attached.
"
2008-06-06 16:45:07 +00:00
Robert Osfield
b6a0f3d8d0 Cleaned up implementation to only use simple structure 2008-06-06 14:10:20 +00:00
Robert Osfield
ed45e32355 Introduce a lower overhead data structure for leaves. 2008-06-06 13:21:27 +00:00
Robert Osfield
aa73e1d1d4 Added update traversal to run prior to doing kdtree build to make sure that
costs in build osgTerrain databases isn't incurred during the build traversal.
2008-06-06 10:51:23 +00:00
Robert Osfield
ac068178aa Added timing code 2008-06-05 18:52:29 +00:00
Robert Osfield
a9b1ea660d Basic implementation of kdtree generation based on vertices 2008-06-05 17:28:06 +00:00
Robert Osfield
9212d4dd95 Further work on fleshing out basic classes 2008-06-04 17:59:39 +00:00
Robert Osfield
338be0b926 Fleshed out some basic kd-tree data structures. 2008-06-03 17:29:27 +00:00
Robert Osfield
8d0c7890ce First cut of osgkdtree example, this will be used as a base of the development of
native kdtree support to help speed up intersection testing.
2008-06-03 16:13:49 +00:00
Robert Osfield
5711964481 Added unit test to smoke out a thread issue with using ofstream("/dev/null") inside
osg::notify()
2008-06-03 11:28:16 +00:00
Robert Osfield
1047f970bb From Adrian Egli, improvements to ParallelSplitShadowMap implementation 2008-05-28 14:11:22 +00:00
Robert Osfield
aee0e8dc37 Introduced a TerrainHandler that adjust the sameple ratio and vertical scale
of terrain interactively using the 'r','R' and 'v','V' keys respecitvely.
2008-05-27 15:28:39 +00:00
Robert Osfield
ae303e38e9 From Paul Melis, "Here is an update to the osgviewerWX example. Keyboard events were not always received because the GraphicsWindowWX wasn't receiving focus. It now receives focus when the mouse enters the window.
* I split the mouse handling from a monolithic method to separate ones, slightly cleaner than a whole bunch of if()'s, especially with another case of the mouse entering the canvas.
* I changed the EVT_KEY_DOWN handler to an EVT_CHAR handler, although that now makes the up and down handler assymetric. The new down-handler returns translated key codes, so when you press the S key (without anything else), it actually returns 's' and not 'S' as the EVT_KEY_DOWN did. This means that statistics can be called up in the viewer window, while the example previously only printed a "Stats output:" line to the console. I'm not truly happy that the up handler returns _untranslated_ key codes. But solving this completely would probably mean adding some table that translated from wxWidgets' untranslated key codes to OSG's internal ones. This might be interesting to add, as anyone using OSG + wxWidgets in any serious manner would also have to add this.
* I commented out the evt.Skip()'s in the keyboard handlers as these would only be necessary if there were some key events that are not handled. But currently all key events are simply forwarded.
* I changed the handling of a mouse drag to a more general mouse move"
2008-05-26 21:09:54 +00:00
Robert Osfield
7592e50cde Introduce --pbuffer-only width height option, and added fps reporting to stats output 2008-05-26 16:25:31 +00:00
Robert Osfield
57ce3f820e Added basic --pbuffer width height support 2008-05-26 15:41:54 +00:00
Robert Osfield
7aac7ef381 Added better stats reporting 2008-05-26 14:30:48 +00:00
Robert Osfield
bb1f6ff7c1 Added feedback of pixel format chosen for read back 2008-05-26 12:01:24 +00:00
Robert Osfield
8ed9b303f1 Added automatic selection of the pixel type according to the window type 2008-05-26 11:59:25 +00:00
Robert Osfield
d2afe3e956 Added option for doing triple buffering, and set the default read format
to GL_RGBA
2008-05-26 11:53:51 +00:00
Robert Osfield
dc7db11e63 Switch to using an inital draw callback when use --start-frame 2008-05-25 22:06:41 +00:00
Robert Osfield
5664c51cf0 Added option for setting whether the front or back buffer should be read using
--front and --back command line options.
2008-05-25 21:52:32 +00:00
Robert Osfield
28fd4b07c9 Added option for controlling whether the front buffer is read at the start of the
frame or the back buffer at the end of the frame.
2008-05-25 21:35:39 +00:00
Robert Osfield
cc07d064bf Changed default format to GL_BGR 2008-05-24 08:13:55 +00:00
Robert Osfield
90308d22aa Added single buffered and double buffered PBO support, and --no-pbo,
--single-pbo and --double-pbo command line parameters
2008-05-23 16:26:03 +00:00
Robert Osfield
f9f1aab67d Added basic glReadPixels code 2008-05-22 17:50:22 +00:00
Robert Osfield
fd76054eac Added camera final callback attachment code. 2008-05-22 15:43:01 +00:00
Robert Osfield
0a3737eb2c Fixed name of source file 2008-05-22 13:11:23 +00:00
Robert Osfield
29d067639c Added new osgscreencapture example folder, implementation to follow 2008-05-22 13:10:40 +00:00
Robert Osfield
01f58ffbb2 From Jeremy Moles, fixed window resize problem 2008-05-09 10:27:59 +00:00
Robert Osfield
4345382316 From Jeremy Moles, osgviewerGTK example 2008-05-08 16:39:10 +00:00
Robert Osfield
4f881b9a09 From Jeremy Moles,"Here's a small example I us to test text rendering in osgWidget; I
figured it might be helpful to folks in OSG who need to do the same.
"
2008-05-07 13:46:24 +00:00
Robert Osfield
53630a2b14 From Wojchiech Lewandowski, add missing setDataVariance(DYNAMIC) and extra event handlers 2008-04-24 16:24:16 +00:00
Robert Osfield
234bfeb648 Removed hardware down sampling hack from GeoemtryTechnique and replaced with Terrain::g/setSampleRatio()
usage.
2008-04-22 11:39:47 +00:00
Robert Osfield
1b29fb8933 From John Shue, build fix for QT 3.x 2008-04-17 11:12:21 +00:00
Robert Osfield
db1bd13c4c From Tim Moore, compile fix for gcc 4.3 2008-04-15 11:50:34 +00:00
Robert Osfield
f9c70f2f76 Added --unit entry for controlling which texture unit the overlay works on. 2008-04-11 14:14:28 +00:00
Robert Osfield
6fed4022a6 Added reference to osgstereomatch example to osgmultiplerendertargets.
Added usage example use OpenSceneGraph-Data/Images examples
2008-04-11 13:04:21 +00:00
Robert Osfield
98a2289a59 From Jose Delport, a MRT example implementing stereo matching. 2008-04-11 11:58:27 +00:00
Robert Osfield
11f9575b24 From Melchior Franz, "The GUIEventAdapter header file had KeySymbols for the super and
hyper keys defined already, but these modifiers were missing in
GUIEventAdapter::ModKeyMask, and the EventQueue ingored them as well.

The attached diff/archive adds the missing parts for Super/Hyper
modifier key support.


I'm aware that this might not be supported on all systems/keyboards
out of the box, but decided to submit it anyway because:

- developers are aware of differences between input devices
 (Some mice have scroll wheels, others don't. Some have five or
 more buttons, some have only one. Some keyboards don't have
 numpads, some have AltGr, some don't etc.)

- even if someone relies on Hyper/Super in distributed software,
 this is easy to fix and doesn't create lock-in conditions

- while the names Hyper/Super may only be common on X11, they are
 just symbol names and not OS-specific

- even though some systems might not offer these additional modifiers
 by default, it's likely that all of them have at least 8 modifier
 levels internally, so it should only be a matter of OS configuration
 to make them work

- having super/hyper available is useful to offer a user ways
 to define local key definitions that are safe from collisions with
 predefined "official" key assignments"
2008-04-11 11:10:12 +00:00
Robert Osfield
22edadcdf3 Added --mouse option to enable mouse tracking, and fixed bug in assumption
that nv is not null.
2008-04-11 10:10:40 +00:00
Robert Osfield
fb5c839b31 From Jose Delport, introduced osgmultiplerendertargets example 2008-04-02 13:48:41 +00:00
Robert Osfield
49accb1635 Reordered set up of scene and event handlers to prevent warning 2008-03-28 15:28:03 +00:00
Robert Osfield
6396a156a2 Renamed osgTerrain::TerrainSystem to osgTerrain::Terrain 2008-03-27 11:55:03 +00:00
Robert Osfield
35c5bd2c92 Renamed Terrain to TerrainTile 2008-03-27 10:55:39 +00:00
Robert Osfield
a9d283ca73 Introduce TerrainSystem node which decorates a complete terrain model made up of Terrain tiles. 2008-03-26 20:06:54 +00:00
Robert Osfield
434337b7c8 From Tomas Hnilica, "
Attached is modified source of AdapterWidget.cpp file from osgviewerQT
example. Original was token today from SVN - trunk. (2.3.6).
 --mdi option needs to be set to run MDI version.

Few notes:
- tested on Windows box (Win XP)
- using QT4
- I was not able to execute the example with QOSGWidget  - had same
error like described in [osg-users] "fate error using QOSGWidget in
develop release
2.3.0" thread from Shuxing Xiao, 2008-01-08.
- problems are described in source

--

And Later post:

The problem of keypress events was solved by QT community, attached is
repaired AdapterWidget.cpp file.
In the AdapterWidget class constructor following line was added:
setFocusPolicy(Qt::ClickFocus);
Scene disappearing by resizing to minimum still needs to be fixed..."
2008-03-25 15:21:14 +00:00
Robert Osfield
920554c4f7 From Wojciech Leandowski, "I removed few lines of code that were setting Threading mode and Screen mode. I believe they are now not neccessary because the same does osgViewer::Viewer argument parser. In fact argument list does not contain these args after they were parsed by osgViewer::Viewer constructor.
I also allowed myself to add ThreadingHandler to the example."
2008-03-25 11:50:28 +00:00
Robert Osfield
26526038ca Added mutex to prevent multiple cull threads changing the MultiTextureControl at one time. 2008-03-24 18:03:19 +00:00
Robert Osfield
584882ad24 Added full range of cameras manipulators to osgmultitexturecontrol example 2008-03-24 10:53:14 +00:00
Robert Osfield
1d1dcf2cf3 To osg::AutoTransform added support for MinimumScale, MaximumScale and AutoScaleTransitionWidth parameters
and a new scheme for computing the scaling when using autoscale that introduces smooth
transitions to the scaling of the subgraph so that it looks more natural.
2008-03-18 15:37:38 +00:00
Robert Osfield
b08f438946 Added example code showing how to set the minimum and maximum scales 2008-03-18 10:45:47 +00:00
Robert Osfield
80d5d01698 Fixed moving model bug where the moving model code was looking for a transform with DataVariance set to DYNAMIC, but the scene graph set up code was leaving the setting to default to STATIC. Fix involved setting DataVariance on moving transoforms to DYNAMIC. 2008-03-17 12:23:06 +00:00
Robert Osfield
7ec5673a7e Added fire effect, enabled by --fire command line option. The new fire effect
has been introduced to reproduce the scaling of paricle effects
2008-03-17 10:29:23 +00:00
Robert Osfield
cf8cbc5af4 From Paul Melis, "typo fix : NVidea -> NVidia (including option --Nvidea)" 2008-03-14 16:51:39 +00:00
Robert Osfield
a364f933e4 Added iostream include 2008-03-14 14:35:15 +00:00
Robert Osfield
daef0f64f2 From Jose Delport, "attached is a version of osgunittests that does not give false alarms
for the case where q1 = -q2. The output of 'osgunittests quat' is now
much cleaner.
"
2008-03-13 16:38:05 +00:00
Robert Osfield
670c7967ae From Paul Melis, "Here is an updated osgviewerWX example to bring it more in line with the
other GUI toolkit examples. It now takes a model file as command-line
argument (complaining if there isn't one), and its startup window size
is now actually applied (it used to be too small). I tested this with a
unicode-build of wxWidgets, as that is the recommended build type on
Linux with GTK. I'm pretty sure this version of the example will work
for the ANSI build as well, but I have no way of testing."
2008-03-13 16:22:07 +00:00
Robert Osfield
9ce276c5d7 From Alberto Luaces, "Here I send minor corrections to the text output by the osgforest example when
building its graphs. The message "Creating billboard based forest" appears
four times regardless of the actual type of the graph being built.
"
2008-03-13 13:43:22 +00:00
Robert Osfield
3bdfb700aa Added extra event handlers to make viewer more functional 2008-03-11 12:10:09 +00:00
Robert Osfield
d8f674a59d From Jean-Sebastien Guay and Robert Osfield, added optional --CompositeViewer path into osgpick to illustrate how to do picking in both viewers and as unit test for picking. 2008-03-04 14:19:03 +00:00
Robert Osfield
02b52cb73a From Paul Martz, a third person view CompositeViewer example 2008-03-04 13:30:41 +00:00
Robert Osfield
a145975de1 Removed single threaded setting 2008-03-04 11:50:35 +00:00
Robert Osfield
a2e8d90194 Implemented fade between layers using MultiTextureControl node 2008-03-03 18:12:21 +00:00
Robert Osfield
289ef1279d Added beginings of new osgmultitexturecontrol example 2008-03-03 14:17:56 +00:00
Robert Osfield
36bbfa9935 Fixed naming 2008-03-01 12:29:49 +00:00
Robert Osfield
aa43b3c8a6 Added Camera::g/setIntialDrawCallback and g/setFinalDrawCallback(), and added
screen snapshot example code to osghud.
2008-02-29 15:25:57 +00:00
Robert Osfield
79276b3169 From He Sicong, "fixed shader calculation of ray tracing" 2008-02-28 10:56:03 +00:00
Robert Osfield
3b4af26136 From Paul Martz, fixed get/set methods API 2008-02-27 11:43:58 +00:00
Robert Osfield
c52fdc0c77 Reverted back to previous version of osgtext 2008-02-25 13:07:37 +00:00
Robert Osfield
e869200b3d Refactored the mutex usage in osgText and freetype plugin to prevent multi-thread crash 2008-02-25 12:54:54 +00:00
Robert Osfield
67f1503c7d Refactored osgTerrain so that the interface for setting up layer is more straight forward, and added support into GeometryTechnique for handling multiple layers 2008-02-22 11:52:23 +00:00
Robert Osfield
fb2726b0db From Philip Lowman, workaround for gcc 3.2.3 bug 2008-02-19 09:49:12 +00:00
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
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
Robert Osfield
6cf85cb953 Cleaned up CompositeViewer interface and added event traversal of views 2007-01-16 19:18:32 +00:00
Robert Osfield
b71f613b77 Added PickHandler to osgmultiplecameras examples 2007-01-16 17:10:15 +00:00
Robert Osfield
91a4b0b71d Reverted the FlightManipulator usage 2007-01-16 16:02:08 +00:00
Robert Osfield
1ee2af9f41 Further work on CompositeViewer 2007-01-16 16:01:01 +00:00
Robert Osfield
c7211f41ec Added extra view combinations too commandline 2007-01-16 14:13:00 +00:00
Robert Osfield
0873a8cea0 Work on CompositeViewer and related calsses to implement viewers with multiple views 2007-01-16 08:56:33 +00:00
Robert Osfield
91968a9bec Improved handling of intersection computations on datasets with multiple cameras 2007-01-15 16:09:32 +00:00
Robert Osfield
45822caed4 Reverted the experimental shader code 2007-01-15 09:14:36 +00:00
Robert Osfield
694b304c00 Added Viewer::setEndBarrierPosition method, change Viewer::setKeySetsDone(int) to setKeyEventSetDone(int),
added support for toggling threading model and end barrier position into osgviewer
2007-01-12 21:05:39 +00:00
Robert Osfield
f405848380 Implement a GraphicsOperation to test extension availability 2007-01-12 10:28:36 +00:00
Robert Osfield
4d494c0014 Fixed comment 2007-01-12 10:28:06 +00:00
Robert Osfield
041482ca46 Ported osgmotionblurr across to osgViewer 2007-01-11 17:15:04 +00:00
Robert Osfield
9e34e56c70 Added stencil buffer setting 2007-01-11 16:59:50 +00:00
Robert Osfield
ddba526d54 Added #include <iostream> 2007-01-11 15:53:32 +00:00
Robert Osfield
190a0bb01a Removed examples:
osgcameragroup
  osgsimpleviewerProducer
  osgsimplepager
2007-01-11 15:48:44 +00:00
Robert Osfield
b121c9686f Ported following examples to osgViewer:
osgteapot
osgtessellate
osgtext
osgtexture1D
osgtexture2D
osgtexture3D
osgtexturerectangle
osgvertexprogram
osgvolume
osgwindows
osgsimple
osgkeyboardmouse
2007-01-11 15:19:59 +00:00
Robert Osfield
374f8e30a4 Added DisplaySettings support into osgViewer::Viewer 2007-01-11 12:06:24 +00:00
Robert Osfield
d6291a0ffc Ported follow examples to osgViewer:
osgshape
    osgsimplifier
    osgsimulation
    osgslice
    osgspacewarp
    osgspheresegment
    osgspotlight
    osgstereoimage
2007-01-11 11:47:01 +00:00
Robert Osfield
877a32c3eb Ported following examples to osgViewer:
osgshaders
osgshaderterrain
osgshadow
osgshadowtexture
2007-01-10 21:05:26 +00:00
Robert Osfield
c4279bd5f1 Ported following examples to osgViewer:
osgparticleeffects
osgphotoalbum
osgpick
osgpoints
osgpointsprite
osgprecipitation
osgprerender
osgprerendercubemap
osgreflect
osgscalarbar
osgscribe
osgsequence
osgplanets
2007-01-10 13:52:22 +00:00
Robert Osfield
c5082cb85c Added support for vertex ratios into LineSegmentIntersector. 2007-01-10 10:40:12 +00:00
Robert Osfield
4d4b342e97 Added View::computeIntersections methods 2007-01-09 17:35:46 +00:00
Robert Osfield
96b2b93edc Build fixes 2007-01-08 22:54:02 +00:00
Robert Osfield
2bf5f56311 Tessellator name changes 2007-01-08 21:19:33 +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
02bda82b55 From Paul Martz and Robert Osfield, renamed include/osgUtil/Tesselator and associated classes/references to Tessellator etc. 2007-01-08 11:23:52 +00:00
Robert Osfield
dfb21cb81a Ported following examples to osgViewer:
osggeodemo
    osggeometry
    osghud
    osgimpostor
    osgkeyboard
    osglauncher
    osglight
    osglightpoint
    osglogicop
    osglogo
    osgmovie
    osgmultiplecameras
    osgmultitexture
    osgoccluder
    osgparametric
    osgparticle
2007-01-08 10:00:16 +00:00
Robert Osfield
19a7ec0f6b Ported osgcopy, osgcubemap, osgdelaunay, osgdepthpartion, osgdistortion, osgfadetext, osgforest and osgfxbrowser to osgViewer 2007-01-06 21:35:57 +00:00
Robert Osfield
983e0c7ecc Add trackball manipulator usage 2007-01-05 21:23:37 +00:00
Robert Osfield
fea694a0bf Ported osgcluster to osgViewer. 2007-01-05 21:19:01 +00:00
Robert Osfield
9dc369eec2 Cleaned up graphics window setup and added clear graphics window to single window,
multiple camera setup.
2007-01-05 16:46:57 +00:00
Robert Osfield
1268d0ce08 Ported osgcegui across to osgViewer 2007-01-05 16:24:05 +00:00
Robert Osfield
f99be366f6 Ported osgcallback to osgViewer 2007-01-05 16:19:25 +00:00
Robert Osfield
3d0b511a00 Ported osgbluemarble to osgViewer 2007-01-05 16:13:43 +00:00
Robert Osfield
0dd473007a Ported osgblendequation across to osgViewer 2007-01-05 16:00:28 +00:00
Robert Osfield
a2599c5fb7 Ported osgbillboard over to osgViewer 2007-01-05 15:54:13 +00:00
Robert Osfield
57e20282de Simplified the osganimate and osgautotransform mains, removing most or all of the argument parser code. 2007-01-05 15:52:33 +00:00
Robert Osfield
01c1e07646 Fixed aspect ratio. 2007-01-05 15:32:21 +00:00
Robert Osfield
d4045a6fef Cleaned up the GraphicsWindow setup 2007-01-05 15:30:49 +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
ed3c7ba116 Replace osgProducer reference by osgViewer 2007-01-05 14:57:20 +00:00
Robert Osfield
411c1fcd25 Moved osgautotransform across to osgViewer 2007-01-05 14:56:37 +00:00
Robert Osfield
44dab36dff Converted osganimate example to osgViewer 2007-01-05 14:48:50 +00:00
Robert Osfield
348fc7bdb3 Made the custom window set up a runtime option 2007-01-05 13:15:59 +00:00
Robert Osfield
a42633a9ee Tweaked comments 2007-01-05 13:06:11 +00:00
Robert Osfield
1ef899069b Changed compile paths into runtime selected paths using command line parameters 2007-01-04 21:58:37 +00:00
Robert Osfield
aebf0de6f2 Removed now redundent calls to set up view 2007-01-04 21:51:10 +00:00
Robert Osfield
abdb1741a4 Removed the setting of thread safe ref/unref and max number of graphics contexts
as this is now done automatically by osgViewer::Viewer
2007-01-04 21:18:44 +00:00
Robert Osfield
73fffe1800 Made Refernced::setThreadSafeReferenceCounting(bool) a virtual then overrode
this in various scene graph classes to ensure that the scene graph gets
updated as well as the objects that the initialial call is made from.
2007-01-04 16:49:58 +00:00
Robert Osfield
ff195bddf5 Added Object::resizeGLObjectBuffers(uint) method to help improve the ability
to change the number of active graphics contexts on the fly during an applications
life.
2007-01-04 14:11:51 +00:00
Robert Osfield
1de65ddedc Added setting of default backgroud colour of View's master colour to be
consistent with the previous default colour used by SceneView
2007-01-03 17:26:24 +00:00
Robert Osfield
eb3ef906e7 Removed setting of master camera colour 2007-01-03 17:25:09 +00:00
Robert Osfield
4f87afdbf5 Improved the robustness of thread start and cancellation 2007-01-03 16:06:12 +00:00
Robert Osfield
f14aa7ef66 Added support for different threading models in osgViewer::Viewer 2007-01-02 17:39:31 +00:00
Robert Osfield
b315ed4d58 Shifted the setting of thread safe ref/unref to earlier in the main to
ensure that the Viewer's view is set up thread safe.
2007-01-02 13:02:30 +00:00
Robert Osfield
d068f7025a Added support for getting all windows and hiding the cursor 2007-01-02 12:50:57 +00:00
Robert Osfield
db7df9d6d4 Switched off lighting in osgcatch. 2007-01-02 12:19:26 +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
d7e3ed3fb2 Updated wrappers 2006-12-27 23:19:37 +00:00
Robert Osfield
40139afc49 Ported osghangglider example to usg osgViewer 2006-12-26 20:26:16 +00:00
Robert Osfield
92291f29b7 Ported osgcatch to use osgViewer 2006-12-26 17:35:45 +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