Commit Graph

2570 Commits

Author SHA1 Message Date
Robert Osfield
1dc8983a76 Added EXPORT 2007-09-22 13:06:07 +00:00
Robert Osfield
5c36fbb18f From David Callu, added findSlaveIndexForCamera method 2007-09-21 19:43:06 +00:00
Robert Osfield
3bfaee3654 Added support for basic viewer configuration files 2007-09-21 15:34:25 +00:00
Robert Osfield
ece7b57df2 Further steps towards reading coniguration files. 2007-09-21 13:30:33 +00:00
Robert Osfield
55a9ea19d7 From Anders Backman, added bias and texture size methods.
From Robert Osfield, tweaks to the above for method parameters and indenting.
2007-09-20 10:12:58 +00:00
Robert Osfield
7ea3632dfc Added support for bool in ArgumentParser::Parameter.
Added support for using Input::read(...) methods using ArgumentParser::Paramter
to adapter to multiple paramter types.
2007-09-19 15:29:57 +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
acfa793032 Updated version numbers for 2.1.11 dev release 2007-09-17 09:26:02 +00:00
Robert Osfield
ae5883dd23 Fixed Locator::setTransform method so it takes a const Matrixd&, and improved
the setting of Locator in the gdal plugin.
2007-09-16 17:48:07 +00:00
Robert Osfield
4c787abfd7 Added option for controlling whether output code should write out default values 2007-09-16 17:45:53 +00:00
Robert Osfield
69de74aedf Added TemplateRegisterDotOsgWrapperProxy. 2007-09-14 11:01:48 +00:00
Robert Osfield
d5cc0e966f Introduce GUIEventHandler::handleWithCheckAgainstIgnoreHandledEventsMask() methods
to help make it easier to get event handles to ingore events that have already been handled.
2007-09-14 10:44:46 +00:00
Robert Osfield
290adbe7ab From Ole-Morten Duesund, added IgnoreUsedEventsMask. 2007-09-14 10:26:14 +00:00
Robert Osfield
0c5d6da793 Fixed warnings of casting void* by refactoring the type and extensiosn setup. 2007-09-13 10:15:48 +00:00
Robert Osfield
45e98d5f18 Added preliminary handling of cases where GLX version < 1.3 2007-09-12 17:01:47 +00:00
Robert Osfield
a933587753 Rejigged the casting to avoid warnings under Windows 2007-09-12 16:20:40 +00:00
Robert Osfield
c15ec121f4 Updated version, ChangeLog and AUTHORS file for 2.1.10 release 2007-09-12 10:43:49 +00:00
Robert Osfield
d8f875ec9e Added log2(int) and log2(uint) methods 2007-09-11 20:54:39 +00:00
Robert Osfield
b89a1480fc Removed int version of log2 to avoid possible errors in assuming log2(10) should ~= log2(10.0) 2007-09-11 20:24:48 +00:00
Robert Osfield
b63ce0dee9 From Art Tevs, Added log2 function. 2007-09-11 17:08:06 +00:00
Robert Osfield
0bd4d303e3 From Art Tevs, build fix. 2007-09-11 16:59:19 +00:00
Robert Osfield
175c3ce806 From Art Trevs, "File Changes:
- GL2Extensions, Program and Program.cpp

Features:
- Support for fragment output binding. (e.g. You can now specify in the fragment shader varying out vec3 fragOut; fragOut = vec3(1,0,1); to write to the fragOut variable. In your program you call glBindFragDataLocation(program, 1, "fragOut") to bind the fragOut variable with the MRT 1 - GL_COLOR_ATTACHMENT1_EXT)

- new methods Program::add/removeBindFragDataLocation Program::getFragDataBindingList

"
2007-09-11 13:34:41 +00:00
Robert Osfield
884b3b7aa2 Seperated out GeometryTechnique .osg support. 2007-09-11 13:32:46 +00:00
Robert Osfield
c51e893ba4 Changed the isTextureIntegerSupported method so that it no longer has the EXT entry in it
for forward compatability reasons.
2007-09-11 12:28:03 +00:00
Robert Osfield
5e83ae4821 From Art Trevs, "Features of the patch are:
- Implementation of integer textures as in EXT_texture_integer

- setBorderColor(Vec4) changed to setBorderColor(Vec4d) to pass double values
as border color. (Probably we have to provide an overloading function to
still support Vec4f ?)

- new method Texture::getInternalFormatType() added. Gives information if the
internal format normalized, float, signed integer or unsigned integer. Can
help people to write better code ;-)

"

Futher changes to this submission by Robert Osfield, changed the dirty mipmap
flag into a buffer_value<> vector to ensure safe handling of multiple contexts.
2007-09-11 12:04:58 +00:00
Robert Osfield
bea07b5f72 From Mike Wittman and Robert Osfield, added support for SO_VERSION number in
runtime version info.  Added checks for OpenThreads version.
2007-09-11 10:10:43 +00:00
Robert Osfield
409cdd0b28 Intoduced a new setGLExtensions template method to do a copy of void* pointer to
local function pointer to avoid compiler warnings related to case void*.

Moved various OSG classes across to using setGLExtensions instead of getGLExtensions,
and changed them to use typedef declarations in the headers rather than casts in
the .cpp.

Updated wrappers
2007-09-10 15:19:23 +00:00
Robert Osfield
8e7e6529be From David Callu, warning fixes 2007-09-07 15:03:56 +00:00
Robert Osfield
c747c7dbd6 Moved defined from Texture2DArray into Texture 2007-09-07 13:25:28 +00:00
Robert Osfield
c7a72c8435 From Art Tevs,
"A new texture class Texture2DArray derived from
Texture extends the osg to support the new
EXT_texture_array extensions. Texture arrays provides
a feature for people interesting in GPGPU programming.


Faetures and changes:

- Full support for layered 2D textures.

- New uniform types were added (sampler2DArray)

- FrameBufferObject implementation were changed to
support attaching of 2D array textures to the
framebuffer

- StateSet was slightly changed to support texture
arrays. NOTE: array textures can not be used in fixed
function pipeline. Thus using the layered texture as a
statemode for a Drawable produce invalid enumerant
OpenGL errors.

- Image class was extended to support handling of
array textures

Tests:
I have used this class as a new feature of my
application. It works for me without problems (Note:
Texture arrays were introduced only for shading
languages and not for fixed function pipelines!!!).
RTT with Texture2DArray works, as I have tested them
as texture targets for a camera with 6 layers/faces
(i.e. replacement for cube maps). I am using the array
textures in shader programming. Array textures can be
attached to the FBO and used as input and as output."
2007-09-07 11:21:02 +00:00
Robert Osfield
b20d542317 From David Callu, improved consistency of Version strings and add version support
for osgIntrospection and osgManipulator.
2007-09-05 17:12:24 +00:00
Robert Osfield
a2447d493c Added option to Locator to help specify here the locator value was defined from.
Update wrappers and Gdal plugin to use this new parameter
2007-09-05 14:15:55 +00:00
Robert Osfield
c9f6a3f7ca Added mutex into osgText::Font::GlphTexture to marshel adding to and reading
from glyph list
2007-09-04 12:32:47 +00:00
Robert Osfield
efc7ff6b02 Rearrange _stateset member variable to avoid compile warning 2007-09-04 09:00:38 +00:00
Robert Osfield
8414a16e52 From Sherman Wilcox, added extension checking support for compressed texture subloading. 2007-09-03 15:43:58 +00:00
Robert Osfield
d80632bc81 Updated version number for 2.1.9 dev release 2007-09-03 14:05:24 +00:00
Robert Osfield
2415b8e4b1 Added default contructors to Operation 2007-09-03 09:43:33 +00:00
Robert Osfield
a97afbb009 Added convinience methods for setting up 3d spherical displays. 2007-09-01 16:56:53 +00:00
Robert Osfield
3304646c4c Changed Font's mutex to become a static mutex shared between all instances of Font.
This ensures single threaded access of the freetype plugin.
2007-09-01 15:24:22 +00:00
Robert Osfield
13faad13e8 Changed mutex reference to a mutex pointer to avoid problems with wrappers 2007-08-31 20:30:45 +00:00
Robert Osfield
5ae1eb711a To solve creations with multi-threaded creation of text, added mutex to Font, and use of this mutex in Text, and added mutex to the reading
of fonts.
2007-08-31 20:16:02 +00:00
Robert Osfield
86e998f64c Added mutex locking add addParents/removeParents in Drawable, Node and StateSet. 2007-08-31 20:14:36 +00:00
Robert Osfield
4ba3f3c1a1 Changed RenderLeaf and StateGraph so that they use ref_ptr<> by default for Drawable and StateSet. 2007-08-31 16:05:24 +00:00
Robert Osfield
a8c3bc2116 Added export for Windows build 2007-08-31 12:14:39 +00:00
Robert Osfield
f4d2d1241d Further work on osgTerrain::Locator and GDAL plugin 2007-08-30 19:26:52 +00:00
Robert Osfield
667be8bb57 Further refinement of ProxyLayer API 2007-08-30 10:15:35 +00:00
Robert Osfield
9a9ffbe229 Further work on new ProxyLayer 2007-08-29 16:29:05 +00:00
Robert Osfield
2f895b839e Added ProxyLayer support into osgTerrain plugin 2007-08-29 12:18:41 +00:00
Robert Osfield
71e7a65cca Added preliminary ProxLayer and DataSetLayer in GDAL plugin to aid integration
of GDAL reading into osgTerrain.
2007-08-29 10:52:03 +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
0a16f653ef Updated version numbers for 2.1.8 dev release 2007-08-27 10:28:47 +00:00
Robert Osfield
b2d131c143 Updated wrappers, and change Renderer so that private: to proteccted:. 2007-08-26 09:46:49 +00:00
Robert Osfield
54202aae0d Cleaned up the thread priority management in DatabasePager and added
support for paging stats.
2007-08-24 13:33:35 +00:00
Robert Osfield
cc6ac2704e Added setting of block into the ThreadSafeQueue's contructor. 2007-08-24 10:58:08 +00:00
Robert Osfield
0da0127857 Updated for 2.1.7 dev release 2007-08-23 15:36:45 +00:00
Robert Osfield
6827104532 From Galen Faidley," Please find attached the modifications to get the new checkerboard
stereo format to work.  It's a good thing I tested these on a TV
before submitting them since I did indeed have a bug.  One thing I
did not test was to see how this would work in windowed mode.  Does
the interlaced stereo code have support for 'absolute' positions?
For example a given pixel on the screen is always shown in a given
eye no matter where the graphics context is placed?
"
2007-08-23 14:31:23 +00:00
Robert Osfield
f8ac71d7e5 Addd control for serializing draw dispatch. 2007-08-23 11:00:12 +00:00
Robert Osfield
f6d342af6f Updated wrappers 2007-08-22 19:26:25 +00:00
Robert Osfield
1694cf9625 Refactored the implementation of cull/draw for DrawThreadPerContex and CullThreadPerCameraDrawThreadPerContex
and added an experimental draw serialization.
2007-08-22 17:17:25 +00:00
Robert Osfield
4f97cdca96 Added thread safe ref/unref by default. 2007-08-22 12:14:15 +00:00
Robert Osfield
de4a4042f7 Set main scene graph elements to use thread safe ref/unref by default 2007-08-22 10:34:11 +00:00
Robert Osfield
bb886e8c94 Simplified the thread set up. 2007-08-22 09:46:38 +00:00
Robert Osfield
57a18ff112 Added default setting of use of thread safe ref/unref. 2007-08-22 09:42:27 +00:00
Robert Osfield
0390243ed9 Changed ReadFileCallback and WriteFileCallback to use virtual inhertinace. 2007-08-22 09:05:34 +00:00
Robert Osfield
5e7a7f6b3c Updated version number for 2.1.6 release and updated wrappers 2007-08-20 09:28:03 +00:00
Robert Osfield
ac6140a33d Fixed zfar setting 2007-08-17 16:10:45 +00:00
Robert Osfield
ffc8123a73 Changed the tolower of the file extension into the plugin name construction code.
Added support for CompositeLayer.
2007-08-16 18:49:46 +00:00
Robert Osfield
3c82058c68 Updated wrappers 2007-08-16 15:29:50 +00:00
Robert Osfield
2f41234793 From Maria Ten, "I divide the init method of the
geometrytechnique in submethods to made more easy the inheritance
between the user and osg-class. This is a first step to add more
functions in osgTerrain. Maybe the subdivision of the method have to
be in the terraintechnique because is the base class of
GeometryTechnique. If Robert or anyone think that this is better i
change this class too."
2007-08-16 14:13:10 +00:00
Robert Osfield
f2925791ca Updated version for 2.1.5 dev release 2007-08-13 11:45:20 +00:00
Robert Osfield
4c443bf843 From Brad Christiansen, "I added the ability to set the render target implementaion on the
osgSim::OverlayNode. The attached changes were made against the 2.0
release."
2007-08-13 10:17:18 +00:00
Robert Osfield
c2930e5ec1 Added getStart()/getEnd() 2007-08-12 13:18:50 +00:00
Robert Osfield
113805c78a From Jean-Sebastien Guay, "adds osgUtil::LineSegmentIntersector::setStart(osg::Vec3d) and
setEnd(osg::Vec3d)."
2007-08-12 13:17:37 +00:00
Robert Osfield
932608f804 From Bruno Hebelin,
"I have adapted to osgShadow the soft shadow map technique described in  "Efficient Soft-Edged Shadows Using Pixel Shader Branching" by Yury Uralsky, Chapter 17 of GPU Gems 2 (Matt Pharr ed. Addison-Wesley).

Here is my code in attachment: basically, it works in the same way as osgShadow/ShadowMap (core code is copied from it) but implements a specific GLSL shader for the soft rendering of penumbra.

I have tested it under Linux with a NVidia graphic card, but there should be no dependency on platform nor on the graphics driver (as far as they support GLSL 2). Screenshots attached show the current results (frame rate bound to v-sync, but the shader takes actually not much time)."
2007-08-12 12:12:55 +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
e5a365afee Added support for an update OperationQueue to Viewer and CompositeViewer to allow asyncrnous adding of operations to be added
to the view to be done during syncronous updateTraversal().

This feature can be used for doing things like merging subgraphs that have been loaded
in a background thread.
2007-08-11 10:28:14 +00:00
Robert Osfield
0e475106dc Updated wrappers 2007-08-10 17:44:54 +00:00
Robert Osfield
845fbf2358 Added View::setDatabasePager(..) 2007-08-10 10:57:00 +00:00
Robert Osfield
7366daca91 Refactored the way the Scene is used in Viewer and CompositeViewer to ensure
that only on Scene exists per scene graph.
2007-08-10 10:52:35 +00:00
Robert Osfield
9b04594126 Compile fix 2007-08-09 08:19:58 +00:00
Robert Osfield
e3b7b2f617 Added new statc prototype() and create() methods to CullVisitor and DatabasePager to allow overriding of the default implementations 2007-08-08 08:10: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
f94bfa7589 Added preliminary code to allow build specification of glu tesscallback with ... parameter 2007-08-07 10:31:24 +00:00
Robert Osfield
c11f5a3441 Updated version numbers for release 2007-08-06 11:24:53 +00:00
Robert Osfield
9b9e4cd7c8 Added perlimnary support for reading the DISPLAY variable. 2007-08-03 14:50:58 +00:00
Robert Osfield
5eb2bc4851 Added return 0; 2007-08-02 12:27:09 +00:00
Robert Osfield
c346f5b943 Introduce new osgViewer::Renderer class for implementing of the rendering
of cameras in viewers
2007-08-02 11:02:47 +00:00
Robert Osfield
cc6740176f From Andy Skinner,adding c includes to avoid problems with mixing c and c++ versions
of c functions.
2007-07-31 17:28:09 +00:00
Robert Osfield
3111fccb3f Updated version number for 2.1.3 dev release 2007-07-30 15:25:21 +00:00
Robert Osfield
8fa79e8c7e Ported across Viewer's to use osgUtil::GLObjectOperation, added second option
in GLObjectOperation to handle cases when no subgraph is registered, in these
case the code now compile all Camera subgraphs.
2007-07-30 10:52:37 +00:00
Robert Osfield
6dec61842d Introduce Camera::s/getRenderer(). 2007-07-28 10:28:40 +00:00
Robert Osfield
f38be8c7a8 From David Callu, "After the mail of Emmanuel Roche to convert a void * in a known pointer (for example osg::Geode *), I has searched an elegant way to introduce this feature.
I just add ReinterpretCastConverter in the Reflector to convert void* in T* and T* in void*
    

    files joint :

        OpenSceneGraph/include/osgIntrospection/Reflector       // modified file
        OpenSceneGraph/src/osgIntrospection/Reflector.cpp      // modified file

"
2007-07-27 17:16:18 +00:00
Robert Osfield
4542c04046 Updated version for dev release 2007-07-24 14:43:46 +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
3eae87854b Added FlushDeletedGLObjectsOperation. 2007-07-23 16:42:25 +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
da95b907f1 Added missing export symbol. 2007-07-18 09:05:11 +00:00
Robert Osfield
51e07f1e66 Added traverse method implementation into GeometryTechnique. 2007-07-17 17:36:44 +00:00
Robert Osfield
1f0edca631 Added support into osg::RenderInfo for a stack of Cameras that allow querries
of which camera is currently active to be querried from within the draw traversal.
2007-07-14 17:07:59 +00:00
Robert Osfield
af19e71024 Changed BarrierOperation so that it isn't limited to jut working within GraphicsContexts. 2007-07-14 09:17:18 +00:00
Robert Osfield
f7ce35c5ee Converted Operations to GraphicsOperations where apporpriate. 2007-07-13 19:24:50 +00:00
Robert Osfield
a28588a84c Introduce GraphicsOperation subclass from osg::Operation, and osgUtil::GLObjectOperation
for compiling subgraphs.
2007-07-13 17:25:35 +00:00
Robert Osfield
6831940851 Added setCurrentEventState method 2007-07-13 11:31:56 +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
03749d5e34 Removed redundent TerrainGeometry classes, and adding double buffer of
internal data within GeometryTechinque in prep for support multi-threaded
set up and rendering of terrain.
2007-07-12 20:12:38 +00:00
Robert Osfield
ecf0b58a19 Renamed include/osg/OperationsThread to OperationThread.
Created a new GraphicsThread subclass from OperationThread which allows the
GraphicsContext specific calls to be moved out of the base OperationThread class.

Updated the rest of the OSG to respect these changes.
2007-07-12 15:54:45 +00:00
Robert Osfield
4d7e8b12ae Renamed OperationsThread to OperationThread and add two way link between OperationQueue and OperationThread 2007-07-12 12:15:42 +00:00
Robert Osfield
4ed9940e71 Added better description of TransferFunction. 2007-07-12 08:29:39 +00:00
Robert Osfield
095da72020 Fixed typo 2007-07-11 16:06:04 +00:00
Robert Osfield
691a49d0fa From Paul Melis, fixes to spelling mistakes/typos. 2007-07-11 15:51:17 +00:00
Robert Osfield
55f3b67dbb Updated version number in prep for 2.1.1 dev release 2007-07-11 15:50:05 +00:00
Robert Osfield
6a9551ebfb Wired up OperationsThread to use the new OperationQueue and thereby support
thread pooling where multiple OperationsThreads share a single OperationsQueue
2007-07-10 17:36:01 +00:00
Robert Osfield
44c07b9fad Separated OperationsThread out from the GraphicsThread header and introduced
new OperationQueue class.
2007-07-09 19:04:36 +00:00
Robert Osfield
4d04f3f645 Fixed unitialized variables. 2007-07-09 15:02:03 +00:00
Robert Osfield
26e8ba27ca Updated version number for 2.1.0 dev release 2007-07-09 11:05:24 +00:00
Robert Osfield
d70228c98d Added OperationQueue class for future work on support thread pools that share
a single OpeationQueue.
2007-07-09 11:03: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
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
d1fa520349 Added support for managing a CompileContext. Rearranged the DeleteHandler::flushAll call. 2007-07-05 18:33:20 +00:00
Robert Osfield
601217025f Improved the mapping of update and cull traversal 2007-07-05 18:30:20 +00:00
Robert Osfield
e7d7c1dcc2 Changed the way that computeNearFar is computed to avoid inconsistencies when in stereo mode 2007-07-02 13:17:47 +00:00
Robert Osfield
19d1a563fe From Csaba Halasz and Robert Osfield, support for passing in ReaderWriter::Options object into readFontFile 2007-07-02 12:30:14 +00:00
Robert Osfield
aee902720e Added s/getUsage() method 2007-06-30 14:30:44 +00:00
Robert Osfield
c80313ccd0 From David Callu,
"
Found in the join file the fix for the bug found by Rafa.


    Problem :

        osgIntrospection::Value grp(new osg::Group);

        osgIntrospection::ValueList vlcall;
        vlcall.push_back(osgIntrospection::Value("toto"));

       const osgIntrospection::MethodInfo *m =
grp->getType.getCompatibleMethod("setName", vlcall, true);

       if (m)
       {
            m->invoke(grp, vlcall);      // ** SEGFAULT here
       }





    Algorithm explanation :

          The "invoke" method try to convert "grp", which reflect an
"osg::Group*", in a
          "osgIntrospection::Value", which reflect a "osg::Node*".
This because
          the "setName(const char *)" method found by
"grp->getType.getCompatibleMethod"
          is an "osg::Object" type method.

          When osgIntrospection do this conversion it try :
             - to found a "osgIntrospection::Converter"  to convert
               from "osg::Group*" to "osg::Node*"
             - to found a chain of "osgIntrospection::Converter" to convert
               from "osg::Group*" to "one or many type" to "osg::Node*"
             - to converte an Enum to int or unsigned int
             - to convert the value in its "value string representation",
               then converte this string in the destination value

          Else it throw a "TypeConversionException".







     Bug :

          1)
          When osgIntrospection try to found a chain of
"osgIntrospection::Converter"
          It could do any downcast or (Type to SuperType) or upcast
(SuperType to Type).
          This mean the the chain could be :
          osg::Group to osg::Transform to osg::Camera to
          osg::CullSettings to osg::CullStack to
osg::CollectOccludersVisitor to
          osg::NodeVisitor to osg::Referenced to osg::Object

         During the convertion with this chain, A METTRE failed and
the pointer in
         "grp" is set NULL. But the "grp" is always a valid
"osgIntrospection::Value"
         and so, osgIntrospection accept the conversion. Then it try
to use this pointer
         to call the "setName" function. And Bing SEGFAULT.


         2)
             In "bool Reflection::accum_conv_path( ... )"
             the convection path isn't accumulate in the recursive loop.
             this cause multi request of a conversion path, and a
slowdown in the
             conversion algorithm.

         3)
             Use of the last conversion way in a conversion from
pointer to pointer
             this mean you can do this :
             "osg::Node*" to " value string representation" to "osg::Material*"
             What a bad thing !!!




    Solution :

         1)
          Introduce the concept of dynamic_cast and static_cast.
          now, to do a conversion, osgIntrospection does this :

             - to found a "osgIntrospection::Converter"  to convert
               from "osg::Group*" to "osg::Node*"
             - to found a chain of "osgIntrospection::Converter" to convert
               from "osg::Group*" to "one or many type" to "osg::Node*"
               only with static_cast, downcast (Type to SuperType)

             - to found, if the source and the destination are two pointer,
               a chain of "osgIntrospection::Converter" to convert
               from "osg::Group*" to "one or many type" to "osg::Node*"
               only with dynamic_cast, upcast (SuperType to Type)

             - to convert an Enum to int or to unsigned int
             - to convert the value in its "value string representation",
               then convert this string in the destination value

          Else it throw a "TypeConversionException".


          Add the "enum CastType" to distinguish the static_cast or
dynamic_cast converter.
          Add file OpenSceneGraph/include/osgIntrospection/CastType

         2)
         add a line to accumulate converter in converter Path.

         3)
         add a line to check if source and destination are pointer.
"
2007-06-30 14:21:34 +00:00
Robert Osfield
847a7c1644 Added Point::Extension::isPointSpriteCoordOriginSupported() method 2007-06-29 17:01:37 +00:00
Robert Osfield
15ff70d298 From Brad Colbert with ammendments by Robert Osfield, add set/getVolume support 2007-06-28 14:19:30 +00:00
Robert Osfield
49c15572a9 From Stephan Huber, "attached you'll find a first implementation of pbuffer-support for os x.
I used osgprerender --pbuffer to test the carbon-implementation, for now
it works :)
"
2007-06-27 20:44:12 +00:00
Robert Osfield
eac3dc1963 From Paul Melis, "Here is a list of fixes to misspelled APIs. Unfortunately, more than one
of these are public APIs and therefore will break linkage to existing
shared libraries."

Note from Robert Osfield, updated wrappers.
2007-06-27 20:36:16 +00:00
Robert Osfield
c0a8c9dd53 Added texture format into Traits. 2007-06-27 10:12:10 +00:00
Robert Osfield
1e506da145 From Trajce Nikolov, PixelBufferWin32 implementation 2007-06-24 10:18:54 +00:00
Robert Osfield
5f088ef914 Set the Traits::supportsResize flag to true in default constructor. 2007-06-23 21:54:56 +00:00
Robert Osfield
1b3468413d Added ability to compile OpenGL objects via pbuffers in the DatabasePager/Viewer 2007-06-22 14:48:18 +00:00
Robert Osfield
e8a65e4cff From Trajce Nikolov, windows build fixes 2007-06-21 11:20:54 +00:00
Robert Osfield
1de128de27 Added placeholder for PixelBufferWin32 2007-06-20 12:29:19 +00:00
Robert Osfield
9f72c9392e Added code of support for contouring shaders 2007-06-20 12:00:29 +00:00
Robert Osfield
78b6ada743 Completed implementation of PixelBufferX11. 2007-06-20 11:59:27 +00:00
Robert Osfield
ac69f49b55 Added beginnings of osgViewer::PixelBufferX11 2007-06-19 17:12:05 +00:00
Robert Osfield
d4309ce69a Added use of GLSL filters 2007-06-18 12:10:46 +00:00
Robert Osfield
cff9188caf Fixed namespace 2007-06-15 16:08:33 +00:00
Robert Osfield
08d3b13430 Added ShadowMap::s/getAmbientBias, updated NEWS and wrappers 2007-06-15 12:59:22 +00:00
Robert Osfield
276ac74196 Updated version numbers for 2.0 release 2007-06-15 10:15:54 +00:00
Robert Osfield
9c3ae6f3c2 Addded missing namespace 2007-06-15 08:36:35 +00:00
Robert Osfield
4fce6dee0f Updated wrappers 2007-06-14 21:03:38 +00:00
Robert Osfield
97b53024d4 Fixed typo 2007-06-14 19:17:31 +00:00
Robert Osfield
56a24486cd Updated wrappers and Version numbers for 1.9.9 release 2007-06-13 21:00:28 +00:00
Robert Osfield
a9287fe824 Added ability to set the keyboard bindings in the RecordaAnimationPathHandler 2007-06-13 20:52:07 +00:00
Robert Osfield
21033536a7 From Jeremy Moles & Robert Osfield, Added support for playback of animation paths using 'Z' key 2007-06-13 20:34:16 +00:00
Robert Osfield
a64dc27595 Added clear() 2007-06-13 19:54:00 +00:00
Robert Osfield
8c727acddc Added new shader support 2007-06-13 19:53:48 +00:00
Robert Osfield
d2c16c2fa0 Added better handling of 0,0,0 values 2007-06-13 13:41:23 +00:00
Robert Osfield
a9a55de053 Added osgViewer::View::setUpViewInWindow(...) method and command line option into
osgViewer::Viewer to allow you to specify the window dimentions and screen for
the window on startup.
2007-06-13 10:38:40 +00:00
Robert Osfield
7016db5f26 Removed ParallelSplitShadowMap as its currently a non op. 2007-06-13 09:56:12 +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
e01e50c271 Moved the className, libraryName and isSameAs into public. 2007-06-12 15:32:04 +00:00
Robert Osfield
08a793eb87 From Stephan Huber and Robert Osfield,
Stephan: "attached you'll find some modifications to the GraphicsWindow-class and
their platform-dependant implementations.

The problem:
setWindowRectangle and setWindowDecoration do not update the
traits-object, so, if you call setWindowRectangle on a
not-realized-window it will open with another size when realized later.
getWindowRectangle reports possible wrong sizes if setWindowRectangle
called before.

My solution:
split the implementation in two parts:
GraphicsWindow::setWindowRectangle will update its traits-object and
call afterwards the virtual method setWindowRectangleImplementation
(which is implemented by the derived platformspecific classess). For
setWindowDecoration I am useing a similar mechanism.

I hope you'll find the submission useful, the Win32 and X11 changes are
not tested but should work."

Changes to this made by Robert are call of resized in setWindowRectangle 
instead of setting of Traits, and use of a bool return type.
2007-06-10 19:53:18 +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
90ae3f385b Added DisplaySettings to osg::Camera, and support into osg::View for initializing
the Camera to the DisplaySettings ScreenWidth/Height/Distance.  Added support
for dual screen horizontal split stereo.
2007-06-09 10:06:38 +00:00
Robert Osfield
3e8be9ac7d From Stephan Huber, "attached you'll find a new GraphicsWindowCarbon-header and .cpp, the
changes I made:

+ put a warning in the console if a nonexistant screen is requested
+ add getters for the aglcontext and pixelformat -- I need access to
them in my own code.
"
2007-06-08 11:04:30 +00:00
Robert Osfield
2fbbbca1a0 From Mike Wittman, "This change to genwrapper and osgIntrospection gives access to
the declaring file for a given type via the new member function
osgIntrospection::Type::getDeclaringFile.  This information is useful
in order to know what header to include when auto-generating wrappers
for a given type.

During the C# wrapper generator development I've been keeping the
declaring file configuration state up-to-date manually with changes
to OSG, and it's proven to require substantial effort.  So it would be
extremely valuable to get this change in before 2.0 to reduce maintenance
during the lifetime of the release.  It'll also be equally useful to
others looking to create wrapper generators using osgIntrospection.

This is a fairly simple change and was tested with a fresh rebuild of the
entire suite of osgWrapper libraries, so it should be relatively low risk
(fingers crossed)."
2007-06-08 10:11:00 +00:00
Robert Osfield
191e12c4b1 Added const get*Matrix() methods 2007-06-08 09:17:42 +00:00
Robert Osfield
5a8ec8f470 Commented out the Scene Stats entry as its not implemented yet. 2007-06-07 20:26:29 +00:00
Robert Osfield
3b1c5c3b96 Introduced a destruct method to help clean up the Registry. 2007-06-07 11:19:02 +00:00
Robert Osfield
51d489fb97 Added View::home() method and updated wrappers 2007-06-07 09:58:49 +00:00
Robert Osfield
211abb16dc Updated version numbers for release 2007-06-06 21:43:38 +00:00
Robert Osfield
36d50301cf From Olaf Flebbe, "an implementation of GraphicsWindow::setCursor for WIN32." 2007-06-06 11:28:44 +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
6e3c9ad3d3 Added support for passing in ArgumentParser in Viewer and CompositeViewer constructor 2007-06-06 10:57:02 +00:00
Robert Osfield
2c16c5b87d Change interator to const_iterator to try and avoid Solaris build failure 2007-06-05 14:37:55 +00:00
Robert Osfield
11ccf8f936 Removed const to try and avoid Sun compiler error 2007-06-05 08:46:32 +00:00
Robert Osfield
497604a192 Removed redundent comma 2007-06-05 08:30:24 +00:00
Robert Osfield
5138ff300b Updated version for 1.9.7 release 2007-06-04 16:20:24 +00:00
Robert Osfield
448efe0722 Added osg::Hint class 2007-06-04 10:47:15 +00:00
Robert Osfield
a9d9d387df Fixed spelling of Receives 2007-06-04 08:38:11 +00:00
Robert Osfield
30e4eb833f Updated wrappers 2007-06-03 10:00:09 +00:00
Robert Osfield
b5791629ea Added Viewer::setUpViewerAsEmbeddedInWindow convinience method 2007-06-03 09:34:28 +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
b92ebca928 From Maria Ten, "The constructor method of the EllipsoidLocator of osgTerrain assumes
that the terrain is always the Earth planet. I changed the constructor
method to accept the Equator radius and the Polar radius like
parameters. By default, it assumes the Earth radius for the
EllipsoidLocator. I added a setEllipsoidModel method, too.

Now, we are developing some libraries for a GIS applicacion, and our
libraries can visualize terrains of planets like Mars. I think that is
a interesting change."
2007-06-01 21:33:29 +00:00
Robert Osfield
053ba0c543 From Wojciech Lewandowski, "I did few tests to see whether adding PreDraw callback would help us with SPI problems when using Viewer. Results were positive so I decided to give it a try and ask you to verify and maybe merge with existing codebase.
I added _preDrawCallback member and neccessary access methods plus modified osgUtil RenderStage.cpp to invoke it before all drawInner calls are made. I tried to maintain symmetry with postDrawCallback but you know better where is a proper place for this call ;-)
"
2007-06-01 19:45:24 +00:00
Robert Osfield
01c1bd28ef Updates to OverlayData 2007-06-01 19:44:09 +00:00
Robert Osfield
822868ca31 From Mathias Froelich, "have done an interface to change the mouse cursor in the X11 graphics
window.
The win32 implementation is still in its original shape since I have no win32
implementation available.

I have chosen the enum approach for the first cut. That is benefitial since
the user does not need to track creation of mouse cursors for different
windows and displays in presence of multiple viewer windows.

The default set of available mouse shapes is the same set that was available
with glut. That set served many OpenGL applications well, so the hope is that
this is enough.

Even though, that implementation is still extensible:
I have digged out the way SDL defines new mouse cursors and added a still
documented out function prototype in the GraphicsWindow that can be used to
extend the current implemtation for arbitrary mouse shapes. That is not
implemented yet.

I hope that somebody with a win32 test system can catch up that implementation
on win32."
2007-06-01 19:43:28 +00:00
Robert Osfield
fcafd4db06 From Stephan Huber, "attached you'll find the modified ImageStream
and a small fix for QuicktimeImageStream to disable debug-logging :)"
2007-06-01 19:19:23 +00:00
Robert Osfield
8f87e14416 From Mike Wittman, "Just found another issue building the C# wrappers: the osgTerrain ValidDataOperator file uses osg::Vec2, osg::Vec3, and osg::Vec4, but does not include their headers. The file with the relevant includes is attached.
"
2007-06-01 19:10:59 +00:00
Robert Osfield
0e62b4f0e9 From Paul Martz, added Win32 export 2007-06-01 16:14:47 +00:00
Robert Osfield
78c831f850 Changed name of AnimationPathHandler to RecordCameraPathHandler 2007-06-01 10:42:24 +00:00
Robert Osfield
5a80e4bfdc From Jeremy Moles, new event handler to record the camera path. A few small tweaks by Robert Osfield to make it more consistent with the old osgProducer::Viewer behavior. 2007-06-01 10:39:27 +00:00
Robert Osfield
02d2963df4 Updated version number, wrappers and readme for release 2007-05-28 10:17:52 +00:00
Robert Osfield
49217e8a88 From Frauciel Luc, "Added support for other pointers than mouses by using a nearpoint and farpoint instead of mousex,mousey + Camera (see Dragger and Dragger.cpp).
The major modification concern the LineProjector class in Projector.cpp. The intersection was previously done in window space, I've modified it to compute it in object space."
2007-05-28 10:14:29 +00:00
Robert Osfield
c072e4adac Updated wrappers 2007-05-27 19:35:50 +00:00
Robert Osfield
784383ac08 Added camera event callback support into osgViewer 2007-05-27 17:29:29 +00:00
Robert Osfield
005268e982 Fixes to help C# binding dev. 2007-05-26 15:49:35 +00:00
Robert Osfield
a8cae09c30 Added s/getOverlayBaseHeight methods 2007-05-25 16:00:38 +00:00
Robert Osfield
8a1ac890f3 Introduce C entry point support for plugin setup for better static build support 2007-05-25 15:27:06 +00:00
Robert Osfield
02b31fdcd9 From Peter Hrenka, fixes regarding line-strips and -loops. 2007-05-24 10:15:50 +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
c58221ddae Added _firstTimeToInitEyePoint = true to the setAutoRotateMode to force the AutoTransform
to recompute its position on next frame.
2007-05-22 15:17:52 +00:00
Robert Osfield
5056f6fee6 Added osg::Camera::ProjectionResizePolicy enum and associated methods for controlling
how the field of view is adjust on window resizes.
2007-05-22 09:32:38 +00:00
Robert Osfield
d22208f701 Added extra checks to make sure that graphics operations arn't done on no longer valid graphics contexts 2007-05-21 18:46:57 +00:00
Robert Osfield
08aabf9312 Fixed const method type 2007-05-21 11:49:37 +00:00
Robert Osfield
ccede7740e Updated version numbers for 1.9.5 release 2007-05-21 09:27:01 +00:00
Robert Osfield
d2aefbc09a Added static build support to export macros 2007-05-21 07:54:01 +00:00
Robert Osfield
e138b956c5 From Stephan Huber, "attached you'll find some modifications and enhancements to the carbon's
implementation of GraphicsWindow:

- usage of WindowData, you can specify an existing window to use via
osg::Traits
- implementation of setScreenResolution and setScreenRefreshRate
- implementation of setWindowDecoration when window is already created.

There seems to be  a bug regarding multiple threads and closing windows,
see my other mail on osg-users.
"
2007-05-20 13:42:41 +00:00
Robert Osfield
dd796df02a Added support for SG_USE_FLOAT_MATRIX and OSG_USE_FLOAT_PLANE in CMake build and
include/osg/Matrix and include/osg/Plane.
2007-05-20 11:45:09 +00:00
Robert Osfield
e37ec98748 Various additions to better support view dependent overlay node, and updated wrappers 2007-05-19 13:43:38 +00:00
Robert Osfield
e3747b1004 From Rafa Giatan and Robert Osfield, added support for User defined events, by adding
UserData to Events.
2007-05-19 13:39:55 +00:00
Robert Osfield
0d71586ee0 Added support for tracking the CoordinateSystemNode path, and passing this on to
camera manipulators.
2007-05-18 10:33:56 +00:00
Robert Osfield
cf9518f346 Added support for View::setFustionDistance(..) 2007-05-17 19:58:57 +00:00
Robert Osfield
c7fc2e018e From Andre Garneau, warnings fixes fo VC++ 2007-05-17 10:59:05 +00:00
Robert Osfield
8c10301d30 From Andre Garneau,"Please find attached changes to have the GraphicsWindowWin32 class
selectively set the pixel format for windows that are inherited, following
some discussions on the mailing list last week.

This is implemented through a new traits flag
(setInheritedWindowPixelFormat) with a default state of false (to avoid
breaking existing applications). When set to true, the pixel format of the
inherited window will be set according to the traits specifications.
"
2007-05-17 10:33:44 +00:00
Robert Osfield
78800829ed Refactored the internals of OverlayNode 2007-05-16 14:22:10 +00:00
Robert Osfield
9cfff7fa19 From Blasius Czink, "when creating windows with decorations (titlebar) the mouse position
should be adjusted."
2007-05-15 19:32:55 +00:00
Robert Osfield
1e0af35900 Added code to better compute the view frustum that is appropriate for a traversed
subgraph.
2007-05-15 17:04:57 +00:00
Robert Osfield
ab4398e440 From Farshid Lashkari, "I made a modification to the setClientActiveTextureUnit and
setActiveTextureUnit methods of osg::State so they return false if the
texture unit is outside the range of allowable units for the driver.
Currently, the functions would return true even if the units are
invalid. This would cause the osg::State to become out of sync with
the actual driver state, which can cause some bugs in certain cases.

The change I made would verify that the unit passed to
setClientActiveTextureUnit is below GL_MAX_TEXTURE_COORDS, and the
unit passed to setActiveTextureUnit is below
max(GL_MAX_TEXTURE_COORDS,GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS). I
modeled this behavior from the OpenGL docs for these commands which
can be found here:

http://www.opengl.org/sdk/docs/man/xhtml/glClientActiveTexture.xml
http://www.opengl.org/sdk/docs/man/xhtml/glActiveTexture.xml
"
2007-05-15 11:25:14 +00:00
Robert Osfield
dd1f6982dd Futher work on new view dependent overlay node 2007-05-15 11:22:25 +00:00
Robert Osfield
e41cd46da8 Set up new view dependent overlay technique control methods 2007-05-14 20:23:10 +00:00
Robert Osfield
55bd6129f4 Added include of GraphicsWindow to fix wrapper build error 2007-05-14 17:01:07 +00:00
Robert Osfield
4d6c08c543 Removed redundent comment '.' 2007-05-14 16:17:16 +00:00
Robert Osfield
51a4de5ec7 Fixed parameter name 2007-05-14 16:16:22 +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
52b2548d31 Renamed ViewerEventHandler to ViewerEventHandlers 2007-05-14 15:16:26 +00:00
Robert Osfield
701ea582e5 Renamed the ScreenHandler to WindowSizeHandler, fixed the code style to be conform more
to the rest of the OSG, and moved the osgviewer across to using the event handlers
in osgViewer.
2007-05-14 15:07:04 +00:00
Robert Osfield
43549f3df6 From Serge Lages, "Here is a ViewerEventHandler file with a collection of helper handlers for osgViewer.
Most of the code is from the osgviewer application, I have took the fullscreen handler and the threading one, and I have just added a fonctionality to be able to change the screen resolution in windowed mode."
2007-05-14 14:41:22 +00:00
Robert Osfield
9e60a5d222 Updated wrappers and version numbers for 1.9.4 dev release 2007-05-14 09:33:32 +00:00
Robert Osfield
b97d8c0fe0 Added TerrainNode::init() and s/getTreatBoundariesToValidDataAsDefaultValue flag. 2007-05-13 09:54:51 +00:00
Robert Osfield
91ddcdf531 Added include 2007-05-11 20:16:52 +00:00
Robert Osfield
1cb4dfbcb5 Added new areThreadsRunning() method to Viewer and CompositeViewer.
Added removeView(View*) method to CompositeViewer

Added stopping/starting of threads in addView/removeView
2007-05-11 19:25:44 +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
8c7b5b5865 Added supoort for transforming layers by an offset and scale 2007-05-10 18:07:54 +00:00
Robert Osfield
c1332f6893 Removed rendundent const 2007-05-10 18:07:15 +00:00
Robert Osfield
63245f4147 Added getHWND, getHDC and getWGLContext methods 2007-05-10 10:52:35 +00:00
Robert Osfield
d8ee198735 From John Kelso,
"Attached are updates of src/osg/Sequence.spp and include/osg/Sequence.

I've taken _sbegin/_send/_ubegin/_uend and _step our of the include file
and made them local variables in whatever method might need them.

I got rid of the _recalculate method as it was only getting used in
one place.

I also found a cut/paste bug in setMode's START case."

Note from Robert Osfield, Also includes some guards against crashes that was occuring in this new
code when handling empty Sequences.
2007-05-09 11:11:19 +00:00
Robert Osfield
5d23bf7739 From Mike Weiblen, with mods of using references by Robert Osfield for efficiency. Submission notes from Mike:
"By repurpose, I'm creating a new plugin that uses much of the .osg fileformat,
but with some changes.  Specifically, I'm creating a ".osgfs" plugin, which
represents the scenegraph hierarchy as a filesystem of nested subdirectories and
individual files for each node, rather than nested braces with everything in a
single monolithic file.  I intend to incorporate file alteration monitor events
to watch the filesystem for modifications and automatically reload.

The problem I'm running into is osgDB is too tightly coupled to the .osg format.
osgDB::Output::writeObject() contains literal .osg format-specific strings like
"{" to represent the Object hierarchy at too low a semantic level.  I propose
using virtual methods; my plugin can then derive from osgDB::Output and
represent Object hiearchy differently.
"
2007-05-09 10:01:15 +00:00
Robert Osfield
790a1ea66f From Alan Harris, "Registry and Archive
~~~~~~~~~~~~~~~~~~~~~~~~~
This is a simple change to permit databases other than those named
"*.osga" to be used. It is hardcoded in read() at present.

It is non-critical and does not affect existing program functionality.

Registry and Registry.cpp
~~~~~~~~~~~~~~~~~~~~~~~~~
Added a new typedef:      typedef std::vector< std::string>
ArchiveExtensionList;

a list of extensions:     ArchiveExtensionList  _archiveExtList;

and an "add" method:      addArchiveExtension(const std::string ext)

This is initialised by adding "osga" in Registry() and used in
Registry::read() where the list is searched for the extension used.

Archive.cpp
~~~~~~~~~~~
This submission is a little more tentative. openArchive() is modified to
automatically add the filename extension to the Registry extension list.
"
2007-05-09 09:43:18 +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
5b9883516a Added CullSettings inheritance mask for LIGHTING_MODE and LIGHT 2007-05-08 10:02:07 +00:00
Robert Osfield
963cd837e3 Added s/getLightingMode and s/getLight to osg::View to allow control of the viewers
global light source.
2007-05-07 22:07:23 +00:00
Robert Osfield
0612fabc47 Updated version numbers for 1.9.3 release, combined INSTALL.txt and README.txt 2007-05-07 07:51:02 +00:00
Robert Osfield
dadb92ea64 Reorganised the managment of margins around glyphs so that is done entirely
with src/osgText/Font.cpp rather than the font plugins or Text.cpp
2007-05-04 12:05:29 +00:00
Robert Osfield
af5b6aa43e Added CartizianLocator 2007-05-03 16:23:19 +00:00
Robert Osfield
368f9b0034 Added return *this to operator = 2007-05-03 14:51:02 +00:00
Robert Osfield
65811d0233 Added virtual orientationOpenGL() method into osgTerrain::Locator. 2007-05-03 11:11:03 +00:00
Robert Osfield
859bcf3c4b Further perfomrmance optimizations and clean up on new VBO/EBO/PBO API. 2007-05-01 18:03:32 +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
d625a5e114 Implementated new dirty buffer mechansim for BufferObjects to make it more efficient 2007-04-30 12:18:27 +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
22ad53d7d9 Updated version number for 1.9.2 dev release 2007-04-30 08:31:25 +00:00
Robert Osfield
aa56bddefc Added a MatrixTransform set up to provide a local origin for better precision. 2007-04-29 20:10:43 +00:00
Robert Osfield
921eb0fdd0 Further work on new VertexBufferObject/ElementsBufferObject support 2007-04-29 08:12:29 +00:00
Robert Osfield
47598ce1a9 Added back in osg::Geometry path 2007-04-27 17:03:06 +00:00
Robert Osfield
4968eb7136 Further work on the new VBO support 2007-04-27 14:52:30 +00:00
Robert Osfield
a3e6d8283d Further work VertexBufferObject and ElementsBufferObject classes 2007-04-26 16:50:06 +00:00
Robert Osfield
a1639c3d2d From Brad Colbert, "Added a new method to ImageStream called getLength that is used to
return the length of the stream.

Implemented the virtual methods in QuicktimeImageStream, (getLength,
getReferenceTime, setTimeMultiplier), to return valid value for each.
"
2007-04-26 08:11:09 +00:00
Robert Osfield
4b71e3948b Added VertexBufferObject and ElementBufferObject class interfaces, and wired
up osg::Array and osg::DrawElements* to these respectively.

Updated wrappers
2007-04-25 18:50:11 +00:00
Robert Osfield
5325653f30 Cleaned up numToTop method 2007-04-25 10:32:28 +00:00
Robert Osfield
cfe746f795 From Martin Aumueller, fixed unused parameter warnings 2007-04-25 10:12:46 +00:00
Robert Osfield
0e6bcc61f0 Updated version to 1.9.1 2007-04-23 20:21:06 +00:00
Robert Osfield
f242570269 Unified the setup of version numbers so that they all are based on the version
number setup in the include/osg/Version header file.
2007-04-22 20:19:43 +00:00
Robert Osfield
abd0c7fe67 Added support for sorting the graphics contexts so that the first context/window
returned from Viewer::getContexts/getWindows will be the left most window on the lowest screen number.

Added ability for StatsHandler and HelpHandler to support end users setting their
Camera's graphics context.
2007-04-20 16:17:48 +00:00
Robert Osfield
835e315494 Implement basic TerrainGeometry code 2007-04-16 19:34:25 +00:00
Robert Osfield
9db23e0b22 Fixed bug associated with complex RenderBin setup. 2007-04-16 12:18:56 +00:00
Robert Osfield
934ed30314 Added setWindowRectangle implementation for GraphicsWindowWin32, and
place holder for setWindowRectangle implementation for GraphicsWindowCarbon.
2007-04-13 14:23:10 +00:00
Robert Osfield
035b98993f Added s/getWindowRectangle to GraphicsWindow and implementation in GraphicsWindowX11 2007-04-13 13:22:52 +00:00
Robert Osfield
07c3503dbb Changed hitItr to be a const_iterator. 2007-04-13 13:19:29 +00:00
Robert Osfield
5954722c07 From Mike Wittman, fix to CopyOp&. 2007-04-12 09:32:34 +00:00
Robert Osfield
73f980bd49 Prep work on new TerrainGeometry Drawable which supports selective display list/VBO's usage.
Updated wrappers
2007-04-11 17:39:13 +00:00
Robert Osfield
557fdacba2 Added support for multiple colour layers, and fixed handling of elevation
and colour layers having different locator
2007-04-11 11:20:04 +00:00
Robert Osfield
cc1ab2c711 Create new incliude/osgViewer/api directory to hold platform specific classes such as GraphicsWindow implementations.
Moved GraphicsWindowWin32,X11 and Carbon into their api/Win32, api/X11 and api/Carbon directories.
2007-04-10 11:03:37 +00:00
Robert Osfield
6d7b5e7ebd From Eric Wing, pedantic warning fixes 2007-04-06 15:36:13 +00:00
Robert Osfield
8a5b8d9656 Set default ShadeModel back to SMOOTH 2007-04-05 20:27:02 +00:00
Robert Osfield
6c12c71337 Added constructor argument to ShadeModel 2007-04-05 16:12:10 +00:00
Robert Osfield
538a83dad4 Added support for flushing buffer objects 2007-04-04 09:07:46 +00:00
Robert Osfield
9b5bbe862d From Mike Wittman, C# build fixes 2007-04-04 08:05:23 +00:00
Robert Osfield
307a9a9a78 From Andy Skinner, warning fix for Windows 64-bit build 2007-04-03 19:42:43 +00:00
Robert Osfield
31d9f40a2f Preliminary work on TransferFunction support 2007-04-03 15:39:05 +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
d434ee0db8 Added support for reading values from an ImageLayer, and building of the
elevation data in GeometryTechnique.
2007-03-30 14:57:57 +00:00
Robert Osfield
a2ecb93c2b Converted osg::HeightField across to using a osg::FloatArray internally to enable
it to be assigned as a vertex attribute array to an osg::Geometry.

Removed the osgTerrain::ArrayLayer as its no longer required thanks to the above change
which makes the osgTerrain::HeightFieldLayer more flexible.  

Updated wrappers
2007-03-29 19:42:07 +00:00
Robert Osfield
5ba0e5b930 Fixed missing initializer in Options constrctor 2007-03-29 19:39:20 +00:00
Robert Osfield
0f507e317d Removed the using to avoid VS 7.1 build problem 2007-03-29 15:41:59 +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
b7967b7007 From Mike Wittman, "Here is a change to the .cpp file to fix it by disambiguating the cull invocation." 2007-03-28 15:05:49 +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
d30a33247d Replaced the X11 Window by Carbon WindowRef in the WindowData structure. 2007-03-28 08:52:44 +00:00
Robert Osfield
78ed8f9219 Add computeBound support to TerrainNode and Layer. 2007-03-27 19:27:36 +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
404d583b3e Added return false; to default implementations of convert functions 2007-03-26 19:24:18 +00:00
Robert Osfield
8dc2a28945 Removed WindowData parameter from init(). 2007-03-26 16:28:26 +00:00
Robert Osfield
1cdda0654f Added Locator and layer setting to osgterrain example 2007-03-26 15:52:22 +00:00
Robert Osfield
7013c12a0d From Mike Wittman, "This is another weirdo change to support code generation. It brings all the Drawable::supports and Drawable::accepts overloads into the ShapeDrawable scope to avoid errors invoking the ones that are not defined in ShapeDrawable. Currently you'll get compilation errors if you pass a Drawable::AttributeFunctor or PrimitiveIndexFunctor to the "accept" function invoked on a ShapeDrawable pointer or reference, since those overloads are only defined in the base class. You'll also get the same error passing a PrimitiveIndexFunctor to the "supports" function. These errors occur because C++ function overload resolution does not cross inheritance boundaries." 2007-03-26 13:00:29 +00:00
Robert Osfield
37f4740c45 From Mike Wittman, remove redundent const from in front of unsigned int.
From Robert Osfield, updated wrappers
2007-03-23 17:27:53 +00:00
Robert Osfield
56a1808794 Added ImageLayer, ArrayLayer and HeightFieldLayer classes 2007-03-21 17:18:53 +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
32166ca631 Build fixes 2007-03-19 10:54:39 +00:00
Robert Osfield
ed9aa1c6bf Removed now redundent method 2007-03-18 11:04:12 +00:00
Robert Osfield
069adcf555 From David Callu, " bug:
Lost the functionality to find the real type pointed by a pointer.
   Ex: a osg::Node pointer point on a osg::Group, if I look for information
       on the pointer type, the introspection say it is a "osg::Node*".
       But if I want information on the pointed type,
       the introspection must return the "osg::Group".
   

   This bug come from the osgIntrospection::Value::Ptr_instance_box::ptype() function.
   In the original version, this function use the member "Instance_base *inst_"
   like this :
      typeof(*static_cast<Instance<T> *>(inst_)->_data)

   But in the new version, this function use the template argument "T":
      typeof(typename remove_pointer<T>::type)

   This is a good meta-programming use, but here we need a dynamic request.

   Moreover the "typeof" macro define in "Reflection" header accept only a type in parameter with the new version.
   


 fix:
   Add the macro "typeofvalue" in "Reflection" header which accept a value or a type in parameter.
   Restore original code in osgIntrospection::Value::Ptr_instance_box::ptype() function.
"
2007-03-16 14:28:27 +00:00
Robert Osfield
aa28f60357 Added WindowData structures to GraphicsWindowX11,Win32 and Carbon to help support
GraphicsWindow inheriting their window handles from an external toolkit
2007-03-16 13:22:05 +00:00
Robert Osfield
2fae221f2d Added class shells for osgTerrain::Locator and osgTerrain::Layer classes 2007-03-14 12:00:54 +00:00
Robert Osfield
c489b0af2c Renamed HeightFieldNode and HeightFieldRenderer to TerrainNode and TerrainTechnique respectively 2007-03-14 11:24:04 +00:00
Robert Osfield
083618cc65 Added inheritedWindowData member variable to Traits. 2007-03-11 11:48:03 +00:00