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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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