Robert Osfield
8a0e49d780
Removed nolonger used code paths
2014-01-20 16:21:24 +00:00
Robert Osfield
5cb305041d
From Stephan Huber, "recent commits regarding GLuint64EXT broke the build for GLES1 and GLES2. Attached you’ll find a fix which hopefully work for every platform."
2014-01-20 15:10:49 +00:00
Robert Osfield
15399bbf35
From Kristofer Tingdahl, reimplement of AntiSquish node to avoid the use of an update callback.
...
From Robert Osfield, small ammendments to clean up header.
2014-01-20 11:00:09 +00:00
Robert Osfield
6246cd5d85
From Roni Zanolli,Added use of Qt's new devicePixelRatio() method to assist with handling the upscalling of resolution on iPhone for "retina" displays.
...
From Robert Osfield, changed Roni's code to use a #define GETDEVICEPIXELRATIO to access the versioned Qt devicePixelRatio() method to avoid duplication of the Qt version checking.
2014-01-20 10:40:49 +00:00
Robert Osfield
e04e03d695
From Jordi Torres, "We have a code using gcc with -Wextra flag and using OSG as a third party library. It does not compile when importing <osgViewer/Viewer> failing in EventHandler and GUIEventHandler:
...
....
GUIEventHandler: In copy constructor 'osgGA::GUIEventHandler::GUIEventHandler(const osgGA::GUIEventHandler&, const osg::CopyOp&)':
/include/osgGA/GUIEventHandler:56:9: error: base class 'class osg::Object' should be explicitly initialized in the copy constructor [-Werror=extra]
It seems the diamond problem:
A = osg::Object
/ \
/ \--> Virtual inheritance
B C
\ /
\ /
D = EventHandler
|
|
E = GUIEventHandler
The most derived class(E) handles the instantiation of A (osg::Object), but all have to be responsible in case they are the ones instantiated.
In case A is not initialized in the copy constructor of derived classes the default constructor will be called, which seems a bug.
I've added osg::Object to the initalization list of EventHandler and GUIEventHandler copy constructors, because both classes are instantiables.
"
2014-01-17 13:59:29 +00:00
Robert Osfield
e8cd06c6e9
Added hull="hul-filename" property support to <volume> tag that can used thus:
...
<layer>
<volume renderer="MultiPass" hull="cow.osgt.0,-2,-4.trans.50,50,50.scale">CardiacCT</volume>
</layer>
2014-01-16 17:17:37 +00:00
Robert Osfield
1264ec736a
Added support for controlling the extents of the volume rendering by nesting the hull underneath VolumeTile. Currently only supported by the new osgVolume::MultipassTechnique
2014-01-16 16:08:43 +00:00
Robert Osfield
a30ec25067
From Paul Martz, build fix for Windows GL3 build
2014-01-09 11:13:09 +00:00
Robert Osfield
110fbf89b0
Added per TileData RTT Camera in prep for rendering backface of volume to a depth texture
2014-01-09 09:41:43 +00:00
Robert Osfield
4a76063b03
Moved destructor to protected
2014-01-08 10:16:39 +00:00
Robert Osfield
716cfbffa4
Refined the GLint64 definitions
2014-01-07 19:06:44 +00:00
Robert Osfield
0f2502c72d
Removed duplicated instances of GLint64EXT declarations
2014-01-07 18:32:45 +00:00
Robert Osfield
7bc373a056
Bumped SO_VERSION number of OpenThreads to avoid conflicts with Debian SO_VERSION bump
2014-01-07 16:18:05 +00:00
Robert Osfield
3531bec43c
Added State::getMaxTextureCoords() and State::getMaxTextureUnits() inline methods.
2014-01-07 11:01:32 +00:00
Robert Osfield
6490f1b6a5
Moved osgDB::MethodObject from lua plugin into osgDB, added support for running methods via the osgDB::PropertyInterface class.
...
Updated lua plugin to use new osgDB::PropertyInterface to run methods.
Added addChild/removeChild() etc to Group.cpp, and addDrawable/removeDrawable() etc. to Geode.cpp serializers.
2014-01-06 15:45:46 +00:00
Robert Osfield
afab78ed40
Preliminary support for wrapping methods in the lua script plugin.
2013-12-25 17:36:32 +00:00
Robert Osfield
865a47bd6b
Added <switch> tag to .p3d to allow one to provide multiple ways to render children within a layer.
2013-12-20 09:57:35 +00:00
Robert Osfield
f16f278fea
From Stephan Hunber, "attached you’ll find some changes to osg/p3d:
...
* a new command-line-option to present3d and a new option to the p3d-plugin to suppress any found <env> tags
* a new command-line-option to present3d to forward mouse-events via osgGA::Device (defaults to off) so we can test the interface-files with present3d better
* I added a new attribute forward_to_devices for click_to_event to forward the event to all attached devices instead of handling the event locally. This will fix the annoyance with the new interface-files when toggling polygon-mode or switching light on/off.
Here’s an example:
<click_to_event forward_to_devices="true">0x72</click_to_event>
"
2013-12-19 13:49:27 +00:00
Robert Osfield
a8dc460085
Implemented support for calling scripts from with Present3D.
2013-12-19 10:02:16 +00:00
Robert Osfield
591c5bae42
Added support for new osgVolume::MultiPassTechnique to Present3D. To use add property renderer="MultiPass":
...
<volume renderer="MultiPass">MyVolumeData</volume>
2013-12-17 12:18:06 +00:00
Robert Osfield
723ecfad8d
Removed the unused Texture::Extensions::numTextureUnits()
2013-12-16 11:28:10 +00:00
Robert Osfield
5571c361dc
Implemented ability to switch between different shaders with new MultipassTechnique
2013-12-13 12:38:01 +00:00
Robert Osfield
939aa38a2a
Added SampleRatioWhenMoving property and support to new osgVolume::MultipassTechnique.
2013-12-12 09:53:24 +00:00
Robert Osfield
ff4a0ce1e2
Added support for handling viewports with offset origins, and with it split stereo.
2013-12-10 13:38:27 +00:00
Robert Osfield
bc95ea97fb
Introduced SampleRatioValueProperty for more intuitive control of how many samples to take when volume rendering
2013-12-10 10:43:48 +00:00
Robert Osfield
3858acf70f
Further work on new MultipassTechnique/VolumeScene.
2013-12-06 19:31:12 +00:00
Robert Osfield
1b3290221c
Added support for using shaders to render the RTT textures with depth
2013-11-26 19:03:46 +00:00
Robert Osfield
477951b924
Replaced readShaderFile() usage to readRefShaderFile()
2013-11-26 10:38:35 +00:00
Robert Osfield
4fcf8d3e86
Added initial render to texture functionality into osgVolume::VolumeScene
2013-11-25 17:36:17 +00:00
Robert Osfield
91033a3a1f
From Kristofer Tingdahl, Build fix for svg plugin that makes sure the version of librsvg is at sufficient, and fixed a missing virtual destructor warning.
2013-11-22 09:48:02 +00:00
Robert Osfield
d3a7115c45
Removed trailing spaces, added missing return to last lines
2013-11-22 09:38:50 +00:00
Robert Osfield
5bea13c172
Added new osgVolume::VolumeScene and osgVolume::MultipassTechnique class shells that will be filled out to provide multi-pass volume rendering that handles mixing of
...
3D meshes with volume rendering and segmentation of volumes via a user defined hull mesh.
2013-11-21 18:17:44 +00:00
Robert Osfield
1b269a7711
From Stephan Huber, "CLang / LLVM on OS X seems to have a problem compiling the osgGA-serializer. (It was reported before on the list, but the error is hard to track as it shows up only sometimes)
...
I fixed the compile-error with a dedicated destructor of osgGA::GUIEventHandler"
2013-11-21 14:21:55 +00:00
Robert Osfield
a54b999ccc
Added Geometry::drawVertexArraysomplemetation(..) and drawPrimitivesImplemenation(..) methods that are called from drawImplementation(..). These new vertex methods
...
allow subclasses from osg::Geometry to specialize the vertex array setup or how the primitives are dispatched to OpenGL.
2013-11-21 10:31:34 +00:00
Robert Osfield
d8c1c4bbeb
From Stephan Huber, compile fix for OpenGL ES on iOS.
2013-11-18 13:31:44 +00:00
Robert Osfield
e0d3ab4412
From Stephan Huber, * GUIEventAdapter: add support for getting normalized touch points
...
* MultiTouchTrackball: some code cleanup and support for normalized touch-points
* oscdevice: receiving and sending multi-touch-events via the Cursor2D-profile from TUIO
* added some documentation
2013-11-18 13:25:55 +00:00
Robert Osfield
80c45ad46a
Added BoundingBox::contains(const vec_type& v, value_type epsilon) method with new epsilon parameter to make it easier to test for containment in the presence of numerical errors
2013-11-18 12:45:04 +00:00
Robert Osfield
c194e92df8
Moved Handled propety from GUIEventAdapter to Event base class.
...
Added CameraManipulator::finishAnimation() method to allow application code to stop any animation/throw of manipulators.
2013-11-15 16:15:09 +00:00
Robert Osfield
7a2900e238
Added osgUtil::Intersector::PrecisionHint member and set it's default to USE_DOUBLE_COMPUTATIONS, and implemented support for use double or float maths internally in LineSegmentIntersector and RayIntersector classes
2013-11-07 12:35:34 +00:00
Robert Osfield
6f6c44446c
Introduced a cast(T) method into the ImageUtils template functor to allow code reading images to handle casting from source data to a form that a user can use more conviently
2013-11-06 09:23:21 +00:00
Robert Osfield
ff8fe4143e
From Likasz Izebski, "added support for etc2/eac compression"
2013-10-28 12:03:55 +00:00
Robert Osfield
4a660f6266
Introduce new osgGA::Event and osgGA::EventHandler base classes that the old GUIEventAdapter and GUIEventHandler now subclass from.
...
The new osgGA::Event is written to support more generic events than the original GUIEventAdapter which are written for keyboard and mouse events.
2013-10-25 14:54:15 +00:00
Robert Osfield
c45f3aa4fb
Merged changes to DisplaySettings from Stephan Huber in prep for controlling the menu hiding behaviour under OSX.
...
Added new WindowSystemInterface::setDisplaySettings() method to provide a mechanism for passing settings onto the WindowSystemInterface so it can then set up the system appropriately.
Added assignment of the DisplaySettings to the WindowSystemInterface in Viewer/ComppsiteViewer::realize().
2013-10-22 19:12:34 +00:00
Robert Osfield
4493d11ca3
Added State::releaseGLObjects() and ShaderComposer::releaseGLObjects() to avoid problems with cleanup of graphics context
2013-10-21 16:35:12 +00:00
Robert Osfield
9146ba7d44
From Vladimir Chebeav, fix for removal of nested callbacks
2013-10-18 08:37:18 +00:00
Robert Osfield
49625a1baf
From Andreas Henne, "in my application I use the TrackballDragger, the ScaleAxisDragger and the TranslateAxisDragger. Unfortunately these draggers are very thin and they do not provide methods to change their visual appearance. Another problem that I noticed is that lighting on the cones and boxes of the TranslateAxisDragger and ScaleAxisDragger is incorrect when the draggers are scaled due to not normalized normals. This small patch adresses these problems, providing methods to make the draggers thicker. I have attached a zip archive containing the corresponding files and also a modified osgManipulator example that makes use of the modifications. I don't want to retain any copyright."
2013-10-18 07:31:22 +00:00
Robert Osfield
eb7c2ae3f7
Added set/get to the ImageSerializer and removed some redudent comments
2013-10-10 20:43:03 +00:00
Robert Osfield
08ec0a11bf
From Laurens Voerman, compile fix for VisualStudio
2013-10-10 14:45:57 +00:00
Robert Osfield
4e4d2b35cf
Added get/set method to Serializer to allow pointer passing without going through InputStream/OutputStream.
2013-10-10 09:28:26 +00:00
Robert Osfield
9c53794bc7
Implemented preliminary readNode/readImage support in the lua plugin allow a lua script to create a scene graph as return it.
2013-10-09 15:32:56 +00:00
Robert Osfield
c77dc4fe9e
Added createObject() interface
2013-10-04 16:29:45 +00:00
Robert Osfield
b5b020a138
Updated version number after 3.3.0 dev release
2013-10-04 16:28:49 +00:00
Robert Osfield
83c396b13b
From Jan Peciva, RayIntersector implementation
2013-10-03 08:45:57 +00:00
Robert Osfield
69f2fb56b3
From Colin McDonald and Robert Osfield, "When a serializer shared library is loaded it registers all of
...
the wrappers it contains. The registration creates a prototype
object for all of the wrapped classes. For some of the higher-level
classes this can be a bit heavy.
I noticed a problem with a model which required a single class from
osgSim. When osgdb_serializers_osgsim.so was loaded it registered
wrappers and created prototype objects for all of the osgSim classes,
including osgSim::ScalarBar. The constructor for that class creates
several drawables, and loads arial.ttf using the freetype plugin. I
don't need that, and don't even ship the font or plugin with my
application, resulting in an unexplained warning message loading
the model.
I've modified the ObjectWrapper class to defer the prototype object
creation until if & when actually required."
2013-10-02 13:59:00 +00:00
Robert Osfield
0eb435e118
Re-ordered the public/protected sections to keep the public section all together
2013-10-02 11:28:38 +00:00
Robert Osfield
5015ec4b5d
From Aurelien Albert, "I'm working with OSG and a customer low-level OpenGL library.
...
To make easier "lazy apply" on the customer OpenGL shaders, the easiest way was to add an accessor to current OSG state's UniformMap.
I've also added accessors for modes and texture, since it could be usefull in the same way.
All methods are const, so I think there is no side-effects."
2013-10-01 17:01:21 +00:00
Robert Osfield
6d8f40d13a
Added support for passing parameters in and out of scripts.
...
Implemented support for osg::ValueObject in LuaScriptEngine.
2013-09-24 15:17:42 +00:00
Robert Osfield
796314c339
Changed NodeVisitor so that is subclasses from osg::Object rather than osg::Referenced to enable it to be used with serialization and scripting
2013-09-24 15:08:23 +00:00
Robert Osfield
874a7ed3b3
Removed redundent spaces
2013-09-24 08:56:47 +00:00
Robert Osfield
6bc413530e
Added compoundClassName() convinience method to standardize the generation of the compoundClassName.
2013-09-20 10:25:23 +00:00
Robert Osfield
6e3f893a0e
Added type maps to help with querrying supported type names
2013-09-20 10:04:50 +00:00
Robert Osfield
250d9f2ed7
Introduce osgDB::PropetyInterface class that provided a generic interface for get/setting properties on scene graph objects, utilizing the osgDB serializers to do
...
the actual interface query and set/gets.
2013-09-19 16:19:32 +00:00
Robert Osfield
f42481b60f
Removed unneccessary return
2013-09-19 16:18:20 +00:00
Robert Osfield
24ecfb1a48
Added access methods to Serializer to help with using wrappers for other purposes such as script integration.
...
Added Vec*i and Vec*ui support to serializers
2013-09-11 15:44:08 +00:00
Robert Osfield
82bbcef117
From Giuseppe Donvito, Fixed typo of "CLEAR_GLOBAL_STATESET = 0x16," to indended "CLEAR_GLOBAL_STATESET = "0x10".
2013-09-10 13:29:28 +00:00
Robert Osfield
898c716841
Added osgPresentation::Show node and implementations with basic property reporting for various internal nodes of presentation graph
2013-09-10 09:23:30 +00:00
Robert Osfield
7050c59cae
Initial cut of Audio/Volume/Movie/Image presentation objects
2013-09-06 09:35:56 +00:00
Robert Osfield
df48d440e4
From Colin McDonald, "Attached are some fixes to build osg using the Solaris Studio compiler.
...
I've also checked the modified files still build ok with other
compilers (Linux gcc, Windows Visual Studio).
osgDB/OutputStream.cpp and osgPlugins/lws/SceneLoader.cpp require
stdlib.h for atoi use.
In osg/Uniform.cpp the compiler complains that base_class is unknown
unless I add a class name qualifier.
Not a build fix, but I spotted a typo in osgUtil/SceneView."
2013-09-05 10:23:05 +00:00
Robert Osfield
856ec46467
Added PrintProperties visitor
2013-09-04 16:25:18 +00:00
Robert Osfield
ccf7bbdb50
Added PrintPropertiesAction to osgPresentation
2013-09-04 15:39:17 +00:00
Robert Osfield
9f5e131203
Added Action class NodeVisitor that supports osgPresentation nodes.
2013-09-04 10:33:11 +00:00
Robert Osfield
fdfe3210ce
Added beginings of Text implementation
2013-09-03 10:17:06 +00:00
Robert Osfield
b9ecec6452
Refactored the use of epsilon in the clamping of the start/end points of the LineSegmentIntersector to better handle numerical precision issues.
2013-09-02 10:56:14 +00:00
Robert Osfield
820ba45fab
Added Audio, Image, Movie, Model and Volume class to osgPresentation.
2013-09-01 17:24:35 +00:00
Robert Osfield
c678fed113
Added initial classes for present3D refactor
2013-08-21 19:54:03 +00:00
Robert Osfield
4e3715d4bb
Moved old osgPresentation source files to osgPresentation/deprecated subdirectory.
2013-08-18 18:10:39 +00:00
Robert Osfield
bd7ec9c5f7
Added initial cut of basic scripting support, introducing an osg::Script object to wrap up the individual scripts, osg::ScriptCallback for assigning a Script as node callback and an osg::ScriptEngine base class that plugins implement to provided support for specific scripting languages.
...
Provided are lua, python and V8 (for javascript) plugins that just open up enough of a link to the respective libs to run a script, there is no scene graph <-> script communication in current implementation.
2013-08-09 16:51:06 +00:00
Robert Osfield
82401defc7
Added osgPresentation::Cursor class to wrap up 3D cursor in the scene functionality
2013-08-08 16:49:33 +00:00
Robert Osfield
90703f99ee
Added missing initializer for _epsilon
2013-08-01 17:38:34 +00:00
Robert Osfield
07365c1073
Added osg::RenderInfo::pushRenderBin()/popRenderBin() and RenderInfo::getRenderBinStack() and getCameraStack() access methods for getting access to the current RenderBin/RenderStage.
2013-08-01 07:19:45 +00:00
Robert Osfield
364e2765e7
Added Intersector::get/setEpsilon(double) to allow users to control what epsilon is used by the LineSegmentIntersector when doing testing of itersections with bounding boxes
2013-07-31 13:11:49 +00:00
Robert Osfield
9c9939e5d4
From Aurelien Albert, "Here is the code to get access to OpenGL handle of an osg::FrameBufferObject"
2013-07-31 07:11:07 +00:00
Robert Osfield
75fd039dba
Added GL2Extensions::isDrawBuffersSupported() and usage of this in FrameBufferObject.cpp to prevent crash under GLES2 when users attempt to use MRT when it's not supported
2013-07-24 13:02:32 +00:00
Robert Osfield
8d3e46dfac
Updated SO version for post 3.2 era.
2013-07-24 12:25:18 +00:00
Robert Osfield
75226e6b68
Added getCallbacks() methods
2013-07-24 12:17:06 +00:00
Robert Osfield
a802729562
Added FRAME_BUFFER_OBJECT enum
2013-07-22 10:15:59 +00:00
Robert Osfield
95d5a19319
Updated OpenThreads version
2013-07-22 10:15:44 +00:00
Robert Osfield
cda0b615de
Updated version number for svn/trunk to 3.3.0 for all new feature development
2013-07-19 14:55:36 +00:00
Robert Osfield
95a5f3ed0f
Updated version number to 3.2.0-rc1 in prep for create the 3.2 branch, and 3.2.0-rc1
2013-07-19 14:06:11 +00:00
Robert Osfield
170cbb9018
Updater version for 3.1.10 dev release
2013-07-19 10:17:26 +00:00
Robert Osfield
2f1d3626de
From Johannes Scholz, "as we need to dynamically add and remove Effects to and from our Application, I created a small patch for osgFX/Registry to add the osgFX::Registry::removeEffect(effect*) method and extended osgFX::Registry::Proxy to call removeEffect upon its destruction."
2013-07-19 06:56:13 +00:00
Robert Osfield
0175c820af
From Mathieu Marache, "we found that events where not caught when running in ON_DEMAND frame scheme : GraphicsWindow::checkEvents() always return false and GraphicsWindowQt doesn't overload it.
...
here is a simple fix that will return if the list is empty or not and will match the comment in checkEvents()
2013-07-19 06:20:46 +00:00
Robert Osfield
82f7031ab5
From Lionel Lagarde, "The extension name is misspelled. It conflicts with GLEW."
2013-07-18 16:27:17 +00:00
Robert Osfield
095b64dc41
From Aurelien Albert, "Recently I had to integrate a client OpenGL library with OSG. For textures and other StateAttribute I've done that by subclassing osg::StateAttribute and this works well.
...
But for glPrograms, in order to get all osg's uniform management system to work, I had to subclass osg::program::PerContextProgram.
Here is a modified version of this class, which add some "virtual" method to allow easy subclassing."
2013-07-02 10:32:53 +00:00
Robert Osfield
08f741bcd9
From Pjotr Svetachov, "The binding of arrays is always set to BIND_UNDEFINED when using the array constructor because the binding parameter is ignored. Here is a fix."
2013-07-02 09:44:46 +00:00
Robert Osfield
d3c2896651
Added SceneView::Options enum enetries APPLY_GLOBAL_DEFAULTS and CLEAR_GLOBAL_STATESET to control whether a _globalStateSet->clear() and _globalStateSet->setGlobalDefaults() should be called.
...
osgViewer::Renderer doesn't use these enum settings so now no longer has a calls StateSet::clear() or StateSet::setGlobalDefaults() on the osg::Camera's StateSet. Previously these were being
called and breaking the ability to attached state to Camera's StateSet.
2013-07-02 09:27:14 +00:00
Robert Osfield
ff3a6f4eb1
Removed BIND_INSTANCE_DIVISOR as they don't yet have any implementation backend to support them.
2013-07-01 10:22:34 +00:00
Robert Osfield
a64b412885
Reverted the usage of OSG_UNUSED and OT_UNUSED as in hindsight these should never have been merged. Adding code to quieten
...
inappropriate warnings is a bad programming practice and does not desrve a place in the OSG code base.
2013-07-01 08:21:13 +00:00
Robert Osfield
2e41e3f656
From Gill Peacegood, "fix for a memory leak in the DelaunayConstraint class"
2013-06-28 14:21:43 +00:00
Robert Osfield
4493cc817d
From Laurens Voerman, "the current version of BufferObject causes a huge amount of warnings in Visual Studio 2012 like:
...
OpenSceneGraph/include\osg/BufferObject(701): warning C4138: '*/' found outside of comment (E:\osg\osgSvn\OpenSceneGraph\src\osg\Array.cpp)
adding a space before /* fixes the problem
void removeClient(osg::Object * /*client*/) { --_numClients; }
"
2013-06-28 14:08:36 +00:00