Robert Osfield
86ddca4edb
Added VertexAttribDivisor class to wrap up glVertexAttribDivisor function
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14526 16af8721-9629-0410-8352-f15c8da7e697
2014-11-24 14:54:39 +00:00
Robert Osfield
fce7137525
Added numTextureUnits parameter to the osg::State::resetVertexAttributeAlias(bool, unit) method, and set the default to 8.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14523 16af8721-9629-0410-8352-f15c8da7e697
2014-11-24 14:01:05 +00:00
Robert Osfield
a97f104ab6
Added comment clarifying how Image::getColor(..) out of 0..1 range texcoords are handled - now clamped to edge.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14520 16af8721-9629-0410-8352-f15c8da7e697
2014-11-21 20:15:30 +00:00
Robert Osfield
e67466a74f
From Sebastian Messerschmidt, "Added setColor function to modify an image based on texture coordinates, parallel to the getColor functionality."
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14517 16af8721-9629-0410-8352-f15c8da7e697
2014-11-21 16:27:29 +00:00
Robert Osfield
c71016bd3c
From Sebastian Messerschmidt, "Attached you find a change adding a getNumSamples() function to retrieve the value set via setNumSamples."
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14515 16af8721-9629-0410-8352-f15c8da7e697
2014-11-21 10:44:01 +00:00
Robert Osfield
5da4e80e95
From Claus Steuer, "XCode 6, IOs 8.1 SDK Compile fix : There are some undefined texture formats when compiling osg for IOs 8.1 with XCode 6 and OpenGLES2 enabled."
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14510 16af8721-9629-0410-8352-f15c8da7e697
2014-11-20 17:37:52 +00:00
Robert Osfield
f8c4ad4b90
From Pjotr Svetachov, "I was experimenting with VBO's to try to get them on par with display
...
lists when drawing lots of batches and noticed that my program
generated a lot of unneeded glClientActiveTexture calls. Digging
deeper I found out it came from State::disableTexCoordPointer where
the function would call glClientActiveTexture but not
glDisableClientState because the geometry didn't have texture
coordinates for that channel. This is because in our scene there are
some geometries that have move than one uv channels making
State::_texCoordArrayList grow. Then the method
State::applyDisablingOfVertexAttributes() will call
disableTexCoordPointer multiple times.
I rearrange the method a little to combat this. Now the logic has the
same ordering as disableTexCoordPointersAboveAndIncluding which
already combats this."
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14508 16af8721-9629-0410-8352-f15c8da7e697
2014-11-20 17:00:14 +00:00
Robert Osfield
34863fe2d2
From Wang Rui, "The submission includes some fixes for osgQt library and osgQtWidgets example: (1) QTextEdit now works with mouse/drag events, (2) scrollbars will change when OSG window is resizing, (3) improve rendering efficiency of QGraphicsViewAdapter so that it works with complex Qt UI, (4) add new setBackgroundWidget() method to indicate a 'background widget', which will ignore mouse/key events on it and pass them to the 3D scene."
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14482 16af8721-9629-0410-8352-f15c8da7e697
2014-11-19 11:30:53 +00:00
Robert Osfield
25cfb81a09
Refactored the handling of use of the osgDB::ObjectCache in the DatabasePager to use a local thread specific ObjectCache to handle new additions and
...
then have these additions merged with the main Registry ObjectCache during the main loop.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14474 16af8721-9629-0410-8352-f15c8da7e697
2014-11-13 09:40:11 +00:00
Robert Osfield
ed28ec97c7
Moved implementation of ObjectCache functionality out of Registry into a dedicated osgDB::ObjectCache class.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14473 16af8721-9629-0410-8352-f15c8da7e697
2014-11-11 18:28:07 +00:00
Robert Osfield
0e9c93f335
To handle thread safe paging and use of the osgDB::Registry ObjectCache, moved the handling of cache into osgDB::DatabasePager.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14472 16af8721-9629-0410-8352-f15c8da7e697
2014-11-10 16:04:43 +00:00
Robert Osfield
a84df15c0a
Introduced use of MarkerObject to IncrmentalCompileOperation/DatabasePager as a way of marking objects that have already been processed and compiled,
...
thus avoid potential threading conflicts when paged subgraphs are reused.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14470 16af8721-9629-0410-8352-f15c8da7e697
2014-11-06 10:40:54 +00:00
Robert Osfield
7f592b7ad5
Added handling of the reading of field properties to a dummy object for cached images to avoid threading issues associated with reusing and modifying an active object.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14469 16af8721-9629-0410-8352-f15c8da7e697
2014-11-05 16:08:42 +00:00
Robert Osfield
28a676e105
Replaced use of while(isRunning()) { YieldCurrentThread(); } style loops with use of join() to avoid false positives being reported by valgrind when using the helgrind tool for thread debugging.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14460 16af8721-9629-0410-8352-f15c8da7e697
2014-11-04 10:46:59 +00:00
Robert Osfield
4c1fd06252
Added osg::SyncSwapBuffersCallback to include/osg/GraphicsContext and support for enabling it to include/osg/DisplaySettings, and to the Viewer/CompositeViewer::realize() methods.
...
To enable the sync of swap buffers set the env var OSG_SYNC_SWAP_BUFFERS to ON or 1, to switch off set to OFF or 0.
One can also use the --sync command line option for application that pass on command line options to the osg::DisplaySettings::instance().
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14456 16af8721-9629-0410-8352-f15c8da7e697
2014-10-21 14:46:12 +00:00
Robert Osfield
e97059df78
Added basic frame rendering for TabWidget
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14446 16af8721-9629-0410-8352-f15c8da7e697
2014-09-12 14:16:08 +00:00
Robert Osfield
e3a3ae6de6
Improved the alignment and sizing of TabWidget tab headers
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14445 16af8721-9629-0410-8352-f15c8da7e697
2014-09-10 17:03:27 +00:00
Robert Osfield
57a42aac39
Moved the diaglog title bar widgets into the Widget::GraphicsSubgraph map to avoid them poluting the Dialog's children list and to prevent them from being serialized.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14441 16af8721-9629-0410-8352-f15c8da7e697
2014-09-09 15:14:35 +00:00
Robert Osfield
e93e7ca1f2
Introduced Widget::WidgetStateSet to help localize the StateSet set up by Widget implementations from being serialized or
...
affecting what end users apply via the standard Node::s/getStateSet().
Further work on TabWidget.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14440 16af8721-9629-0410-8352-f15c8da7e697
2014-09-09 13:37:33 +00:00
Robert Osfield
23b8131ae5
Added shell of new osgUI::TabWidget class
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14438 16af8721-9629-0410-8352-f15c8da7e697
2014-09-05 16:04:11 +00:00
Robert Osfield
9e9fe9b9c9
Introduced support for specifying whether a serializer supports different types of usage - one or more of READ_WRITE_PROPERTY, GET_PROPERTY and SET_PROPERTY.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14437 16af8721-9629-0410-8352-f15c8da7e697
2014-09-05 11:05:43 +00:00
Robert Osfield
21fc2fae8d
Added setting of the IsoSurfaceProperty in VolumeSettings
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14436 16af8721-9629-0410-8352-f15c8da7e697
2014-09-03 15:54:47 +00:00
Robert Osfield
4f6dbf5623
Added close button on Dialog title bar
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14435 16af8721-9629-0410-8352-f15c8da7e697
2014-09-03 12:28:04 +00:00
Robert Osfield
1e9722601c
Refactored the handling of ComboBox item picking to make it faster and more reliable
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14433 16af8721-9629-0410-8352-f15c8da7e697
2014-09-02 17:01:44 +00:00
Robert Osfield
5633fa1247
Added DragCallback class to help dialog dragging support.
...
Introduced a new Widget::computeExtentsPositionInLocalCoordinates() method that intersects with a ray through mouse pointer and the extents of the widget.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14429 16af8721-9629-0410-8352-f15c8da7e697
2014-09-01 19:13:35 +00:00
Robert Osfield
f6cc4440a1
Added support for getting osgVolumre::Property::ModifieCount
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14422 16af8721-9629-0410-8352-f15c8da7e697
2014-08-27 09:25:54 +00:00
Robert Osfield
d1bf811331
Added Property::getModifiedCount() + dirty() to help with tracking changes. Added VolumeSettings serializers for Property objects
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14421 16af8721-9629-0410-8352-f15c8da7e697
2014-08-25 16:56:47 +00:00
Robert Osfield
6126379362
Changed StateSet::ParentList from vector<Object*> to vector<Node*> to reflect that Drawable is now a Node.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14420 16af8721-9629-0410-8352-f15c8da7e697
2014-08-25 13:43:11 +00:00
Robert Osfield
beeda386ef
Improved handling of setting of the depth of the UI.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14418 16af8721-9629-0410-8352-f15c8da7e697
2014-08-22 19:00:53 +00:00
Robert Osfield
f28d460caa
Added support for ComboBox::currentIndexChanged*(uint) callback API.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14409 16af8721-9629-0410-8352-f15c8da7e697
2014-08-14 19:00:37 +00:00
Robert Osfield
973ac76197
From Glen Waldron, "Node: patch for remove*Callback() methods to resolve a crash"
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14401 16af8721-9629-0410-8352-f15c8da7e697
2014-08-08 15:45:54 +00:00
Robert Osfield
99cbab1806
Changes to support building against ANDROID under OSX.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14399 16af8721-9629-0410-8352-f15c8da7e697
2014-08-08 09:28:26 +00:00
Robert Osfield
fdd9efe45a
Implemented osgUI::Validator, IntValidator and DoubleValidator classes that manage validation/specialization of LineEdit widgets to work with just integer or double values.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14398 16af8721-9629-0410-8352-f15c8da7e697
2014-08-05 18:32:45 +00:00
Robert Osfield
0335e9c63a
Implemented callbacks for validate(), textChanged() and returnPressed()
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14397 16af8721-9629-0410-8352-f15c8da7e697
2014-08-01 13:07:38 +00:00
Robert Osfield
e979f76156
Added NodeVisitor::INTERSECTION_VISITOR VisitorType
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14395 16af8721-9629-0410-8352-f15c8da7e697
2014-07-31 18:29:31 +00:00
Robert Osfield
899e359cdb
Fixed rendering of Popups
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14394 16af8721-9629-0410-8352-f15c8da7e697
2014-07-30 12:48:28 +00:00
Robert Osfield
0bdd7351f6
Added StateSet::RenderBinMode::PROTECTED_RENDERBIN_DETAILS and OVERRIDE_PROTECTED_RENDERBIN_DETAILS options.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14392 16af8721-9629-0410-8352-f15c8da7e697
2014-07-30 12:47:16 +00:00
Robert Osfield
46440ad0a8
Added preliminary icon to ComboBox.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14391 16af8721-9629-0410-8352-f15c8da7e697
2014-07-29 15:50:55 +00:00
Robert Osfield
90e58f66c0
Implemented prelimary icon support allowing UI widget to place image and model based icons on widgets
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14389 16af8721-9629-0410-8352-f15c8da7e697
2014-07-29 15:50:07 +00:00
Robert Osfield
e65d03bf27
Added handling of Drawables added directly to scene graph without Geode decorating them.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14386 16af8721-9629-0410-8352-f15c8da7e697
2014-07-28 16:19:44 +00:00
Robert Osfield
23ae292fe2
Added support for changing background colour of LineEdit widget when focus changes
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14385 16af8721-9629-0410-8352-f15c8da7e697
2014-07-24 14:14:35 +00:00
Robert Osfield
3a7942dfb7
Added VolumeSettings::Filename property.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14383 16af8721-9629-0410-8352-f15c8da7e697
2014-07-23 16:36:17 +00:00
Robert Osfield
7dc3b34bfd
Removed State::AppliedProgramObjectSet container and Obsever usage from osg::State to address threading bug crash.
...
The State::AppliedProgramObjectSet wasn't ever being used actively in the current rev of the OSG so populating and clearing was no longer neccessary, allowing the code to be removed completely.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14377 16af8721-9629-0410-8352-f15c8da7e697
2014-07-22 16:02:33 +00:00
Robert Osfield
3b23b474dc
Centralized the calling of #include <stdint.h> and VS fallback into include/osg/Types header
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14376 16af8721-9629-0410-8352-f15c8da7e697
2014-07-21 16:36:47 +00:00
Robert Osfield
93938439d9
Fixed indentation
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14369 16af8721-9629-0410-8352-f15c8da7e697
2014-07-21 12:18:43 +00:00
Robert Osfield
50e63ad3ee
Added readScript/writeScript methods to ReaderWriter
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14366 16af8721-9629-0410-8352-f15c8da7e697
2014-07-14 15:59:06 +00:00
Robert Osfield
5a7a20d01e
Renamed osgDB::PropertyInterface to osgDB::ClassInterface to better reflect it's functionality
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14365 16af8721-9629-0410-8352-f15c8da7e697
2014-07-14 14:09:08 +00:00
Robert Osfield
f2d11bb46e
Added preliminary support for writing VolumeSettings to disk from within Present3D in response to pressing and releasing 'Ctrl-S'.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14363 16af8721-9629-0410-8352-f15c8da7e697
2014-07-04 16:45:05 +00:00
Robert Osfield
7a18876c5b
Changed enum usage to use the new osgVolume::VolumeSettings versions and added support for reading a VolumeSettings file.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14349 16af8721-9629-0410-8352-f15c8da7e697
2014-07-03 13:01:05 +00:00
Robert Osfield
3c6a1ec117
Refactor VolumeSettings so that it's subclassed from osgVolume::Property
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14348 16af8721-9629-0410-8352-f15c8da7e697
2014-07-03 10:01:46 +00:00
Robert Osfield
c4f199d1b5
Added osgVolume::VolumeSettings object
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14347 16af8721-9629-0410-8352-f15c8da7e697
2014-07-02 16:26:18 +00:00
Robert Osfield
d4c4bee020
From Laurens Voerman, "just like ClusterCullingCallback (fixed in r14322) visual studio likes an explicit implementation of run() for InteractiveImageHandler.
...
The warning is (14 times):
include\osgViewer/ViewerEventHandlers(542): warning C4250: 'osgViewer::InteractiveImageHandler' : inherits 'osgGA::EventHandler::osgGA::EventHandler::run' via dominance (src\osgViewer\StatsHandler.cpp)
include\osgGA/EventHandler(45) : see declaration of 'osgGA::EventHandler::run'
attached a zipped version of include\osgViewer\ViewerEventHandlers"
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14343 16af8721-9629-0410-8352-f15c8da7e697
2014-07-02 10:25:29 +00:00
Robert Osfield
bb8b1538c7
From Mikhail Izmestev, "Attached fix to avoid vector reallocs on push_back in StateGraph::moveStateGraph."
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14334 16af8721-9629-0410-8352-f15c8da7e697
2014-06-30 10:13:19 +00:00
Robert Osfield
9d5a510441
Updated version number
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14331 16af8721-9629-0410-8352-f15c8da7e697
2014-06-30 08:56:08 +00:00
Robert Osfield
5fb078b4f1
From Pjotr Svetachov, "Here is a small fix for a overflow when editing large 3d volume data."
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14329 16af8721-9629-0410-8352-f15c8da7e697
2014-06-30 08:46:54 +00:00
Robert Osfield
7a14b224ed
Replaced using NodeCallback::run with explict run() implementation.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14322 16af8721-9629-0410-8352-f15c8da7e697
2014-06-28 06:22:47 +00:00
Robert Osfield
8d6bee6da9
Added a render order sort to the list of Cameras being tested by the *Viewer::generatePointerData(..) method to ensure that the highest Camera gets focus.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14309 16af8721-9629-0410-8352-f15c8da7e697
2014-06-27 15:30:56 +00:00
Robert Osfield
92d684de6b
Revised KdTreeBuilder so that is used the new apply(osg::Geometry&) method rather than expanding an osg::Geode.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14303 16af8721-9629-0410-8352-f15c8da7e697
2014-06-26 14:16:11 +00:00
Robert Osfield
138ea0e0c7
From Pjotr Svetachov, "For a scene with a lot of animated agents I did some small
...
optimizations to reduce cpu overhead:
1) Avoid a load-hit-store in UpdateBone. b->getMatrixInBoneSpace()
returns the same matrix that was just stored with b->setMatrix()
2) Avoid calling element->isIdentity() for the whole transform stack
(can be expensive is element is a matrix)
3) Make the key frame interpolator use binary search instead of a
linear one. This is very noticeable in scenes where some geometry has
long repeating animations that start at the same time, you will see
the update time grow then reset and grow again."
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14294 16af8721-9629-0410-8352-f15c8da7e697
2014-06-26 10:45:07 +00:00
Robert Osfield
d22f62396c
From Alexander Sinditskiy, "My changes added support for gltexstorrage2d for texture2d.
...
Initially I described issue in message:
http://forum.openscenegraph.org/viewtopic.php?t=13820
It solves issue with compiling texture using ico from image with mipmaps
I added enviroment variable OSG_GL_TEXTURE_STORAGE_ENABLE to control usage of glTexStorage2d. Initially it is disabled.
It used only if image have mipmaps.
Another issue is converting from internalFormat + type to sized internal format. I created sizedInternalFormats[] struct where sized internal formats are ordered from worse->best.
also this struct have commented lines. Commented formats are listed in
http://www.opengl.org/wiki/GLAPI/glTexStorage2D
but looks like not using in osg."
Note from Robert Osfield. Changed the env var control to OSG_GL_TEXTURE_STORAGE and made it's value true by default when the feature is supported by the OpenGL driver. To disable to
use of glTexStorage2D use OSG_GL_TEXTURE_STORAGE="OFF" or "DISABLE"
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14275 16af8721-9629-0410-8352-f15c8da7e697
2014-06-25 09:57:36 +00:00
Robert Osfield
71f7a74091
From Björn Blissing, "I found a minor error in documentation in include/osg/Math.
...
Function: absolute() had the same description as the function minimum()
I removed the erroneous text."
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14273 16af8721-9629-0410-8352-f15c8da7e697
2014-06-25 08:21:13 +00:00
Robert Osfield
9195a0000b
Added osgUI::ColorPalette class
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14259 16af8721-9629-0410-8352-f15c8da7e697
2014-06-13 17:17:09 +00:00
Robert Osfield
3a18699074
Fixed typo in parameter name
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14258 16af8721-9629-0410-8352-f15c8da7e697
2014-06-13 17:16:51 +00:00
Robert Osfield
86a9a45525
Implemented more robust intersection handling for mouse interactions. Wired up even handling of ComboBox popup.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14250 16af8721-9629-0410-8352-f15c8da7e697
2014-06-11 10:55:33 +00:00
Robert Osfield
89ca694684
Added using Callback::run() method to Drawable::CullCallback
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14249 16af8721-9629-0410-8352-f15c8da7e697
2014-06-10 08:50:42 +00:00
Robert Osfield
d234262585
Fixed handling of Drawable callbacks and NumChildrenRequiringEventTraversal
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14248 16af8721-9629-0410-8352-f15c8da7e697
2014-06-09 13:46:44 +00:00
Robert Osfield
a316c30b4a
Removed redudent NodeVisitor::s/getUserData() as osg::Object provide this.
...
Added using run entry to InteractiveImageHandler to quieten warning
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14247 16af8721-9629-0410-8352-f15c8da7e697
2014-06-06 15:05:31 +00:00
Robert Osfield
1c699a3664
Added using NodeCallback::run() to avoid warnings
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14246 16af8721-9629-0410-8352-f15c8da7e697
2014-06-06 09:12:43 +00:00
Robert Osfield
d7b99b9062
Added missing OSG_EXPORT
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14245 16af8721-9629-0410-8352-f15c8da7e697
2014-06-06 09:01:25 +00:00
Robert Osfield
977ec20751
Refactored Callback system in osg::Node, osg::Drawable, osg::StateSet and osg::StateAttribute to use a new osg::Callback base class.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14244 16af8721-9629-0410-8352-f15c8da7e697
2014-06-05 16:26:13 +00:00
Robert Osfield
333a16a88d
Reverted change of Node::ParentList from being a vector<Node*> back to a vector<Group*>
2014-06-03 09:52:55 +00:00
Robert Osfield
3dde165f14
Refactor osg::Geode to subclass from osg::Group and reuse the NodeList children container
2014-06-03 09:23:24 +00:00
Robert Osfield
2d41cbd0cf
Removed OSG_USE_BOUND and associated osg::Bound adapter class to avoid problems with BoundingBox::expandBy/expandByRadius() implementation choosing a null BoundingBox from
...
the osg::Bound class causing crashes.
2014-06-02 16:20:39 +00:00
Robert Osfield
199506296a
Implemented basic frame graphic
2014-05-30 16:44:36 +00:00
Robert Osfield
a45ba05bdd
Added beginnings of ComboBox popup functionality.
2014-05-29 10:51:26 +00:00
Robert Osfield
26a7c30229
Added cached Depth and ColorMask to reduce the amount of duplicate state in the osgUI subgraph
2014-05-28 10:18:57 +00:00
Robert Osfield
1fcb91900a
Replaced Widget::GraphicsSubgraph with GraphicsSubgraphMap to allow finer control of when the rendering subgraphs are done.
2014-05-28 10:06:14 +00:00
Robert Osfield
faced0a896
Removed Dialog/Popup::open/close() methods as they are replaced by the setVisible() method
2014-05-26 16:32:20 +00:00
Robert Osfield
5d635287c0
Implemented Widger::Visible and Enabled usage
2014-05-26 16:27:33 +00:00
Robert Osfield
b04a4813ba
Added Visible and Enalbed properties to Widget
2014-05-26 16:15:33 +00:00
Robert Osfield
f50ec0fe8e
Implemented clipping of widget to the widgets extents.
2014-05-23 18:59:16 +00:00
Robert Osfield
cca18e82e8
Implemented scheme for making sure nested widgest overdraw parent widgets graphics
2014-05-23 15:00:49 +00:00
Robert Osfield
bda5ec4875
Added osgUI::Widget::set/getGraphicsSubgraph() to hold the subgraph that does the rendering portion of widgets
2014-05-22 10:02:35 +00:00
Robert Osfield
0b5b3213fe
Addd method implementation in serializers
2014-05-21 16:15:02 +00:00
Robert Osfield
20fd80de3a
Improved handling of callback object to open the door to use of general osg::CallbackObject as mechnisms for something simialr to Qt's signal/slot mechanism.
2014-05-21 09:45:11 +00:00
Robert Osfield
28c36d615b
Added osg::runNamedCallbackObjects(..) convinience method for run all named osg::CallbackObjects attached to an osg::Object
2014-05-21 09:07:25 +00:00
Robert Osfield
9859f3110b
Renamed callbacks to avoid overlap with Node callbacks
2014-05-21 09:06:17 +00:00
Robert Osfield
30b54e3af2
Moved the _boundingSphere set method into the update section of the Drawable::getBoundingBox() method
...
Added an UpdateVisitor::apply(Drawable&) implementation.
2014-05-20 16:09:34 +00:00
Robert Osfield
e70acf4c51
From Pjotr Svetachov, "I stumbled on a little bug with the new drawables. I was distributing points data into different drawables that I used in a LOD later. When simplifying the system to not use geodes anymore I came upon the following bug:
...
If Drawable::getBoundingBox would compute an invalid bounding box (if it was for example empty) it would make a bounding sphere with a infinite radius which counts as a valid sphere in osg.
Attached is a small fix."
2014-05-20 15:34:12 +00:00
Robert Osfield
8346f0ebe1
Improved the handling of updating of text
2014-05-20 08:35:39 +00:00
Robert Osfield
d917987938
Added shell of Popup class
2014-05-20 08:35:19 +00:00
Robert Osfield
4ce2e075c4
Add shell of Dialog class
2014-05-19 10:11:50 +00:00
Robert Osfield
87fd1d38fb
Added initial cut of ComboBox
2014-05-16 19:24:58 +00:00
Robert Osfield
3e00764649
Added initial shell of PushButton implementation
2014-05-16 10:38:40 +00:00
Robert Osfield
03fc0c3662
Added support for intesecting Drawable that are attached directly to the scene graph without an osg::Geode
2014-05-15 16:30:17 +00:00
Robert Osfield
d8a06f827e
From Pjotr Svetachov, build fixes for VisualStudio
2014-05-15 14:45:28 +00:00
Robert Osfield
4f199e36c9
Placed the #include<osg/Node> within #ifdef OSG_USE_BOUND to prevent unncessary inclusion of Node header when OSG_USE_BOUND is false.
2014-05-15 13:22:47 +00:00
Robert Osfield
20b9f3ff88
Added Node::asDrawable() and Node::asGeometry() methods to provide a low cost way of casting a node to Drawable and Geoemtry.
...
Changed the Group::computeBound() method so that it takes account of the a Drawable's BoundingBox.
2014-05-15 09:26:59 +00:00
Robert Osfield
afcf54b108
Fixed the bounding sphere computation and handling of Drawable as the root of the scene graph
2014-05-14 16:52:18 +00:00
Robert Osfield
74f91037a7
Further work on Bound class/Node::getBound() and Drawable::getBound() and usage in OSG codebase
2014-05-14 16:01:40 +00:00
Robert Osfield
4174d72a52
2014-05-14 10:19:43 +00:00
Robert Osfield
12a737ae02
Changed the Node::ParentList to be a list of osg::Node rather than osg::Group, and added addChild, removeChild, replaceChild virtual method to Node to enable code
...
to user code compile with minimal modifications to account for the new change to the Node ParentList.
2014-05-13 08:43:07 +00:00
Robert Osfield
b2c7bacfe9
From Farshid Lashkari, "As discussed, I've added the ability to handle Drawable objects within the NodeVisitor class. Here is an overview of the changes:
...
- Added apply(Drawable) and apply(Geometry) to NodeVisitor
- Added accept(NodeVisitor) method to Drawable/Geometry
- Added traverse(NodeVisitor) to Geode which calls accept(NodeVisitor) on all Drawables
- Updated CullVisitor to use new apply(Drawable) to handle drawables. The apply(Billboard) method still manually handles the drawables since it is depends on the billboard settings. I needed to disable the traverse within billboard to prevent duplicate traversal of drawables.
- Update other osgUtil node visitors (GLObjectsVisitor, IncrementalCompileOperation, ..) to use new apply(Drawable) method.
"
2014-05-12 12:10:35 +00:00
Robert Osfield
ead92353fe
Added beginnings of new osgUI library, a replacement for osgWidget that works fully in 3D/stereo and is scriptable.
2014-05-12 11:27:54 +00:00
Robert Osfield
298f1c65b6
Renamed the new include/osg/OpenGL automatically configured header file to include/osg/GL replacing the original hand built GL header
2014-04-30 13:19:22 +00:00
Robert Osfield
e16eb147a1
From Sebastian Messerschmidt, "attached is the compile/linker fix for multiple definitions of getTypeEnum when compiling the Lua with VisualStudio and potentially other compilers.
...
"
2014-04-30 11:51:40 +00:00
Robert Osfield
a04232a75a
From Pjotr Svetachov, "have added some missing serializers for RigGeomery. Withouth them I
...
ran into two issues.
At first you get a bunch of warnings that osg::ComputeBoundCallback
and osg::UpdateCallback were unsupported wrapper classes when
converting fbx models with skeletal animation to osg(t/b).
The second issue was that when reading, the readers fail to read the
ComputeBoundCallback and UpdateCallback and set them to NULL which
messes up the RigGeometry.
Because a RigGeometry makes his own classes in the constructor it
might be preferable to not write them at all, because now those
classes are being made two times when reading a RigGeometry. But after
thinking about this that would place too much limits on them (you
won't be able to share or name them and save that information or make
a new inherited class from them and write that one) So I ended up
thinking the best way was to just write the files.
"
2014-04-29 15:14:39 +00:00
Robert Osfield
b6404d18c3
From Pjotr Svetachov, "Today I found a bug in the IutputStream class when saving array
...
attributes in vec3b format. It looks like my compiler takes the wrong
overload and outputs integers instead of characters. The problem is
that vec3b is of type signed char and that is not the same as char (
see http://stackoverflow.com/questions/436513/char-signed-char-char-unsigned-char
) and visual studio 2013 will promote it to integer when choosing an
overload.
It looks like that the InputStream class already takes care of this
issue (if it didn't it would have read everything ok and I would have
not even stumbled upon this bug. :) )"
2014-04-29 13:41:35 +00:00
Robert Osfield
bc5575f83a
From Kristofer Tingdahl, "I and my team have gone over the code again, and we feel that we are comfortable in our current proposal for change. It goes deeper than it did before, and I explain why:
...
There was code in the osgViewer/Viewer.cpp and osgViewer/CompositeViewer.cpp that transformed the Y-coordinates of an event. The code in the composite viewer did however miss the touch-data of the event. I thought that it should really be the GUIEventAdapter that should know about this, and hence I added the
GUIEventAdapter::setMouseYOrientationAndUpdateCoords which is re-computing the coordinates. First I simply added a boolean to the setMouseYOrientation function:
setMouseYOrientation( MouseYOrientation, bool updatecooreds=false );
but then the serializer complained.
This function is called from both the Viewer and the CompositeViewer. We have not tested from the viewer, but I cannot see it would not work from visual inspection.
The other change is in MultiTouchTrackballManipulator::handleMultiTouchDrag. I have removed the normalisation. The reason for that is that it normalised into screen coordinates from 0,0 to 1,1. The problem with that is that if you have a pinch event and you keep the distance say 300 pixels between your fingers, these 300 pixels represent 0.20 of the screen in the horizontal domain, but 0.3 of the screen in the vertical domain. A rotation of the pinch-fingers will hence result in a zoom in, as the normalised distance is changing between them.
A consequence of this is that I have changed the pan-code to use the same algorithm as the middle-mouse-pan.
The rest of it is very similar from previous revision, and there has been some fine-tuning here and there.
"
2014-04-24 17:14:54 +00:00
Robert Osfield
ef76994c05
Removed header as this CMake generated configuration file is not required to be part of svn repository
2014-04-24 07:20:44 +00:00
Robert Osfield
a1342a6bf6
Added src/osg/OpenGL.in configuration file and include/osg/OpenGL header files
2014-04-23 19:30:33 +00:00
Robert Osfield
5597248895
Introduced new scheme for setting up which version of OpenGL/OpenGL ES the OSG is compiled for.
...
To select standard OpenGL 1/2 build with full backwards and forwards comtability use:
./configure
make
OR
./configure -DOPENGL_PROFILE=GL2
To select OpenGL 3 core profile build using GL3/gl3.h header:
./configure -DOPENGL_PROFILE=GL3
To select OpenGL Arb core profile build using GL/glcorearb.h header:
./configure -DOPENGL_PROFILE=GLCORE
To select OpenGL ES 1.1 profile use:
./configure -DOPENGL_PROFILE=GLES1
To select OpenGL ES 2 profile use:
./configure -DOPENGL_PROFILE=GLES2
Using OPENGL_PROFILE will select all the appropriate features required so no other settings in cmake will need to be adjusted.
The new configuration options are stored in the include/osg/OpenGL header that deprecates the old include/osg/GL header.
2014-04-23 09:08:26 +00:00
Robert Osfield
560587c88f
Fixed comment
2014-04-14 16:16:08 +00:00
Robert Osfield
25ddbf8f1f
From Sebastian Messerschmidt, "n the trunk version the osgGA::GUIActionAdapter has additional functions for lineIntersection which use osgGA::GUIEventAdapter&, but the class declaration is neither forwarded, nor is the header included.
...
Using the trunk together with osgEarth 2.5 will fail to build, due to the missing type.
Attached is the file forward declaring osgGA::GUIEventAdapter."
2014-04-08 11:48:34 +00:00
Robert Osfield
efc493cfa0
Fixed build when using of double BoundingBox/BoundingSphere
2014-04-07 15:04:34 +00:00
Robert Osfield
ac380e03c4
From Paul Martz, "We discussed the issue of GL_RED_SNORM and GL_RG_SNORM some time ago, but the issue was never completely resolved. Please see the attached submission to fix the issue.
...
osg/GL2Extensions was incorrectly defining GL_RED_SNORM and GL_RG_SNORM as part of the definitions for OpenGL v3.1. However, a quick review of the 3.1 spec indicates that these are not part of the 3.1 standard.
My attached change moves these definitions out of the #ifndef GL_VERSION_3_1 conditional block, and defines them conditionally if not already defined. This allows the DDS plugin to build for GL3.
"
2014-04-07 13:48:15 +00:00
Robert Osfield
e5fe59799d
Fixed handling of volume tiles with a region.
2014-04-01 18:33:02 +00:00
Robert Osfield
27b71e3927
Added cube and hull rendering support
2014-03-27 12:47:44 +00:00
Robert Osfield
2f8b0f7a70
Restructured the handling of TileData to make it more extensible and flexible.
2014-03-19 17:56:40 +00:00
Robert Osfield
d7944b6ca9
Addd ExteriorTransparencyFactorProperty for support of upcomming functionality of rendering a cube volume with a hull volume inside it.
2014-03-18 18:14:15 +00:00
Robert Osfield
ed724a730e
Added support for animating volume hulls.
2014-03-17 15:54:52 +00:00
Robert Osfield
ea865d0ff9
Added support for directly invoking scripts using <run-script> and <run-script-file> to enable scripts to interact with each other.
2014-03-13 10:28:18 +00:00
Robert Osfield
8f30a262f4
Added PresentationInterface class to make it more convinient to access the current presentation from scripting languages
2014-03-11 10:52:10 +00:00
Robert Osfield
ee266255eb
Added scripting support for JumpData, KeyPosition, HomePosition and parts of SlideEventHandler that enable dispatching of user created events.
2014-03-10 19:08:46 +00:00
Robert Osfield
9319350176
Added support for osg::Image to the lua plugin.
2014-03-06 10:27:26 +00:00
Robert Osfield
218e36b12b
Relaxed the handling of Image objects
2014-03-04 13:35:27 +00:00
Robert Osfield
de09adcaa9
Added MapReverseIterator implementation.
2014-02-27 10:02:55 +00:00
Robert Osfield
46381cb15c
Added MapIteratorObject and support for it in the lua plugin to provide map iterator functionality.
2014-02-26 18:18:08 +00:00
Robert Osfield
9394215d31
Added Map serializer size() method and support for it in the lua plugin. Renamed functions in lua plugin to be more consistent.
2014-02-26 11:01:35 +00:00
Robert Osfield
69e9f2c973
Added support for vector and map containers in osgDB::Serailizer's and lua plugin.
2014-02-26 08:26:51 +00:00
Robert Osfield
4ef5d9eb5f
Added Vector serialization and support in lua plugin top enable script users to set/get vector properties such as osg::Array, osg::PrimitiveSet and children lists.
2014-02-24 10:19:48 +00:00
Robert Osfield
cb805d7be5
Added inital cut of PrimitiveSetSet wrappers to scripting
2014-02-13 11:01:36 +00:00
Robert Osfield
743a6b049c
Added initial support for wrapping osg::Array in a way that can be used via scripting.
2014-02-12 18:03:53 +00:00
Robert Osfield
8bbbea1274
Fixed handling of assignment of User Object's that replace existing Object with the specified propertyName.
2014-02-11 18:18:48 +00:00
Robert Osfield
2797e8cb7c
Improved support for setting/getting properties via the osg::UserDataContainer.
2014-02-11 18:07:37 +00:00
Robert Osfield
31e98b51df
Added support for serailizing and scripting BoundingBox and BoundingSphere objects
2014-02-10 16:44:13 +00:00
Robert Osfield
3dcca431a9
Fixed handling of setting member variables via the Serializers when the value is the default.
...
Added support for more features of the osgDB::Widget class.
Fixed handling of boolean values in the Lua plugin
2014-02-08 17:53:51 +00:00
Robert Osfield
1319c2d281
Added support for enum's in the Lua script integration
2014-02-08 10:39:20 +00:00
Robert Osfield
8eae4b0381
Fixed export
2014-02-08 10:38:51 +00:00
Robert Osfield
6f5e5c23df
Added initial Widget wrapper
2014-02-07 10:46:16 +00:00
Robert Osfield
4016aed62d
Moved experimental Widget class to osgGA
...
Add computeIntersections() to the osgGA::GUIActionAdapter base class to enable intersection tests without needing to directly link to osgViewer.
2014-02-06 17:32:41 +00:00
Robert Osfield
99eb81e743
Added support for casting objects to allow one to access a parent classes methods.
2014-02-06 11:25:37 +00:00
Robert Osfield
2b8be97297
Added support for a <hull> tag that can be used within <volume> tag.
2014-02-05 11:07:03 +00:00
Robert Osfield
5f8e2bda2f
Added osg::CallbackObject to be used to extend C++ class from scripting languages by providing callback objects assigned to the osg::Object UserDataContainer, with the CallbackObject's Name used to map the "method" provided by the CallbackObject. The CallbackObject is implemented by the script engine to provide the neccessary glue to invoking the script with the appropriate input parameters and handling the output parameters.
...
To the Lua plugin added support for assigned lua functions to C++ osg::Objects via the new osg::CallbackObject mechanism. To invoke the scripts function from C++ one must get the CallbackObject and call run on it.
Renamed ScriptCallback to ScriptNodeCallback to avoid possibly confusion between osg::CallbackObject and the ScriptNodeCallback.
2014-01-31 16:20:29 +00:00
Robert Osfield
d63c6f6978
From Kristofer Tingdahl, made method virtual
2014-01-28 16:49:20 +00:00
Robert Osfield
4f19237467
Removed unimplemented method
2014-01-27 15:43:36 +00:00
Robert Osfield
15f44c8736
Added a getModeUsage() method that prevents any mode being automatically associated with these Texture types that are only usable using non fixed function pipeline.
2014-01-24 12:01:37 +00:00
Robert Osfield
d8482ef1ba
From Kristofer Tingdahl,"we have a bunch of classes that inherit osg::Node, and they create their own, internal geometry which is passed into the render bucket at the cull-traversal. Last week, we realised that these classes are not accounted for when doing an ComputeBoundVisitor- traversal, as there is no specialization in ComputeBoundVisitor for them.
...
One solution is naturally to create a new class that would inherit the osg::ComputeBoundVisitor, and use that. I don't like that idea as the ComputeBoundVisitor does actually have what I need - it is only hidden in a protected function.
I am therefor suggesting a slight generalization of the ComputeBoundVisitor with the attached patch, which is tested.
The patch has two parts:
we add applyBBox() so that one can use that in a customized traverse-function and add a bbox to the visitor. I considered calling this function expandByBBox(), but I though applyBBox was better.
The MatrixStack is made available to the outside world. That enables a traverse-function to do whatever it wishes.
I do actually only need one of the two, as I can implement what I wish either way, but adding getMatrixStack() will make more generic expansions possible.
"
From Robert Osfield, changed the name of the new applyBBox(..) method to applyBoundingBox(..) to keep it's naming more consistent with the rest of the OSG.
2014-01-23 16:48:29 +00:00
Robert Osfield
a96ad565c7
From Stephan Huber, "attached are some fixes to the osc-plugin and the touch-implementations for iOS and os x and other small bugfixes. These fixes will normalize the orientation of the touch points, and transmitting the touch points over osc via the TUIO-protocol works now more robustly between two osg-applications.
...
I added a new tag to p3d called forward_touch_event_to_device and renamed the existing forward_event_to_device to forward_mouse_event_to_device. This new tag will transmit touches to the virtual trackpad as touch events. I added the MultitouchTrackball to the p3d-app so zooming and moving a model remotely should now work, if you use forward_touch_event_to_device. I kept (and fixed) forward_mouse_event_to_device for background compatibility, so old presentations works as in previous versions, without the ability to zoom + scale. of course.
forward_touch_event_to_device needs some more testing, (e.g. with image-streams and keystone, afaik there’s no support for touch-events...) but for a first version it works nice.
"
2014-01-23 15:37:48 +00:00
Robert Osfield
405cb0d828
Made protected methods virtual to allow subclassing to customize more aspects of the window setup.
2014-01-22 17:29:44 +00:00
Robert Osfield
1678dc3562
Added support for osgVolue::SampleRatioProperty. Fixed build errors when compiling with ref_ptr<> automatic type conversion.
2014-01-21 18:48:53 +00:00
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