scrawl
29049ea238
Fix typo in StateSet::compileGLObjects, causing compilation of attributes to not be executed unless checkForGLErrors is true.
2016-11-26 12:17:07 +00:00
Robert Osfield
926cffb2ee
From Jannik Heller, Wrong function call in setTextureAttributeAndModes
...
"From I think that this piece of code in StateSet::setTextureAttributeAndModes is a copy&paste mistake:
OSG_NOTICE<<"Warning: non texture attribute '"<<attribute->className()<<"' passed to setTextureAttributeAndModes(unit,attr,value), "<<std::endl;
OSG_NOTICE<<" assuming setAttributeAndModes(attr,value) instead."<<std::endl;
OSG_NOTICE<<" please change calling code to use appropriate call."<<std::endl;
setAttribute(attribute,value);
As per the warning message it should be calling setAttributeAndModes(attribute,value); ."
2016-03-11 16:48:19 +00:00
Robert Osfield
ccae59e98a
Added _defineList into the osg::StateSet::compare() implementation to address issues with osgUtil::Optimizer ignoring defines.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/branches/OpenSceneGraph-3.4@14949 16af8721-9629-0410-8352-f15c8da7e697
2015-07-14 08:25:20 +00:00
Robert Osfield
e3f0876e87
From Konstantin Matveyev, "I've changed osg::Uniform::Callback to osg::UniformCallback.
...
osg::UniformCallback inherits osg::Callback now.
I don't really now if this class should be inside osgWrappers/serializers
because StateAttributeCallback is not presented there, but i've included it in the patch.
Please see archive in the attachment.
PS
DEEP_COPY_UNIFORMS works for me.
"
Note from Robert Osfield, added typedef UniformCallback Callback for backwards compatibility.
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14885 16af8721-9629-0410-8352-f15c8da7e697
2015-06-02 09:33:22 +00:00
Robert Osfield
4cb5bce66a
Added support for DefineList to StateSet::merge(..)
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14700 16af8721-9629-0410-8352-f15c8da7e697
2015-02-17 20:42:12 +00:00
Robert Osfield
b90503fdf5
Introduced new shader composition approach that utilizes #pragma requires(), #pragma import_defines() and #ifdef in GLSL to enable multiple different versions of shaders based
...
on defines passed in from osg::StateSet::setDefine(..).
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14681 16af8721-9629-0410-8352-f15c8da7e697
2015-02-10 17:04:02 +00:00
Robert Osfield
134b2e506f
Cleaned up GL_TEXTURE_BUFFER_*ARB usage as include/osg/GLDefines now provides the non ARB variants
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14652 16af8721-9629-0410-8352-f15c8da7e697
2015-01-06 17:23:26 +00:00
Robert Osfield
8b384baca9
From Julien Valentin, "To sum up changes, I had:
...
-some extensions in GLExtensions
- GL_TEXTURE_BUFFER as target in osg::StateSet
- a VBO based transform feed back example
"
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14651 16af8721-9629-0410-8352-f15c8da7e697
2015-01-06 17:12:51 +00:00
Robert Osfield
fec06828cf
Removed checks against Drawable as these are no longer required.
...
git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14455 16af8721-9629-0410-8352-f15c8da7e697
2014-10-21 08:27:28 +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
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
7f9f7dd216
Added GL_TEXTURE_2D_MULTISAMPLE to texture mode list.
2014-01-23 07:59:46 +00:00
Robert Osfield
d304ed7d73
From Farshid Lashkari, "I have a scene that makes heavy use of the StateSet::compare method and my profiler showed that a lot of time was being spent inside it. I made a small change to the method so that it performs a quick size comparison between the attribute/mode lists and bin mode before iterating through all the attributes. This made a noticeable improvement in my scene. I've attached the change."
2013-09-30 18:15:51 +00:00
Robert Osfield
14a563dc9f
Ran script to remove trailing spaces and tabs
2012-03-21 17:36:20 +00:00
Robert Osfield
a79a8d30f9
Convesion of osg::notify to OSG_INFO etc.
2010-05-28 15:47:52 +00:00
Robert Osfield
29ea65c12b
From Gunter Huber, fixes for better GLES2 support
2010-05-13 10:01:07 +00:00
Robert Osfield
f8ab593c4b
Moved across to use OSG_FIXED_FUNCTION_AVAILABLE
2009-11-17 15:54:20 +00:00
Robert Osfield
8b141567b9
Adapted GLBeginEndAdapter to use state.drawQuad(..) rather than use it's local GL_QUADS emulation.
...
Fixed to osg::Texture for GLES support.
Added automatic GLenum mode mappings in osg::PrimitiveSet to provide a fallback for non support glDrawArray/glDrawElement modes.
Added finer gained error checking during StateSet::compile().
2009-11-12 14:35:44 +00:00
Robert Osfield
08903d65a1
Fixed handling of GL function pointer setup for GLES1/GLES2 targets
...
Dropped the fixed function pipeline defaults from StateSet and SceneView.
2009-11-03 11:10:41 +00:00
Robert Osfield
37ee16403a
Introduced usage of OSG_GLES*_AVAILABLE macros to headers and .cpp's to enable building against OpenGL ES 1.x and 2.x headers
2009-10-25 11:52:01 +00:00
Robert Osfield
2d38e187fd
From Cedric Pinson, "Here a patch to be able to clone stateattribute, in order to do that i
...
moved the StateAttribute::Callback structure to a file
StateAttributeCallback with the same behavior as NodeCallback.
"
2009-10-22 10:33:16 +00:00
Robert Osfield
6e780bfa62
From Simon Carmody, "Patches for compare and copy of Programs and related state
...
-Added copying of shaders and attributes in osg::Program copy constructor.
-Changed StateSet::compare function to compare Uniforms and their
override values. Previously it compared a RefUniformPair."
2009-04-08 12:32:52 +00:00
Robert Osfield
f4836d7aa1
From Paul Martz, "I'm not sure why this message was added, but it doesn't appear to merit INFO verbosity. Changing this from INFO to DEBUG_FP."
2008-12-15 16:46:13 +00:00
Robert Osfield
ac975bf79a
Added a Refrenced::getGlobalReferencedMutex, and OpenThreads::ScopedPointerLock() and use of this in add/removeParent() codes
...
to avoid threading problems when using atomic ref counting.
2008-10-14 14:27:41 +00:00
Robert Osfield
4aaf24b5d8
From Mathias Froehlich, added catch for GL_COLOR_MATERIAL mode being set.
2008-09-20 10:09:56 +00:00
Robert Osfield
a2c1dc85dc
Removed debug info
2008-08-25 10:38:07 +00:00
Robert Osfield
ff35465a33
Moved _stateset = new StateSet instances to setStateSet(new StateSet) to make
...
sure the wiring up of the StateSet parents is done consistently
2008-08-25 10:20:20 +00:00
Robert Osfield
174f9bbfe0
From Michael Platings and Robert Osfield, added support for controlling,
...
via StateSet::setNestedRenderBin(bool) whether the new RenderBin should be nested
with the existing RenderBin, or be nested with the enclosing RenderStage.
2008-06-19 11:09:20 +00:00
Robert Osfield
4c81aa0aa7
From Paul Martz, "The attached code changes StateSet::merge() so that it copies RenderBin data such as the rendering hint and RenderBin details from rhs into "this", only if "this" has RenderBin mode set to INHERIT.
...
It replaces a comment by you indicating something along these lines should be done. To me, this seems like the right thing to do."
2008-05-26 21:33:41 +00:00
Robert Osfield
a49ed677b5
Fixed indenting
2008-03-14 15:32:56 +00:00
Robert Osfield
298e07fc72
From Mathias Froechlich, "I have extended the StateSet api with a
...
StateSet::removeAssociatedModes(const StateAttribute*)
and a
StateSet::removeAssociatedTextureModes(unsigned, const StateAttribute*)
call. These funktions are just missing for a complete api IMO."
2007-12-11 11:42:02 +00:00
Robert Osfield
f4afa427a7
From Roland Smeenk, "Attached you will find a large set of small typo fixes (mainly in the comments)."
2007-12-10 17:30:18 +00:00
Robert Osfield
a0c2349438
From Mario Guimaraes, "Currently, in the StateSet::merge method, the rhs state attributes and
...
modes are not merged into the lhs state when the rhs is PROTECTED. The
changes I'm providing here address this problem."
2007-12-08 17:10:07 +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
86e998f64c
Added mutex locking add addParents/removeParents in Drawable, Node and StateSet.
2007-08-31 20:14:36 +00:00
Robert Osfield
07411f3246
Introduced new osg::Object::DataVariance type of UNSPECIFIED, and changed the deafult
...
values of DataVariance to UNSPECIFIED to all types.
2007-02-14 13:18:58 +00:00
Robert Osfield
89c99a88fa
Added computeDataVariance method into osg::Object and implementations in Drawable and StateSet,
...
and calling of osgUtil::StaticObjectDetectionVisitor in osgViewer::Viewer
2007-02-14 11:24:42 +00:00
Robert Osfield
fd0ea388c2
Began work on providing support for threading camera cull traversals in parallel with
...
the previous frames draw traversal. Changes range from osg::State, through osgUtil::RenderBin, through to osgViewer
2007-01-29 22:44:29 +00:00
Robert Osfield
73fffe1800
Made Refernced::setThreadSafeReferenceCounting(bool) a virtual then overrode
...
this in various scene graph classes to ensure that the scene graph gets
updated as well as the objects that the initialial call is made from.
2007-01-04 16:49:58 +00:00
Robert Osfield
ff195bddf5
Added Object::resizeGLObjectBuffers(uint) method to help improve the ability
...
to change the number of active graphics contexts on the fly during an applications
life.
2007-01-04 14:11:51 +00:00
Robert Osfield
842b96bbc9
From Colin McDonald, "I've included render bin checks in the StateSet::compare function, because
...
without them the Optimizer can incorrectly eliminate (otherwise identical)
StateSets from different render bins."
2006-10-02 15:59:43 +00:00
Robert Osfield
35d134f712
From Farshid Lashkari, added function for querring whether a mode is a texture related mode or not.
2006-09-21 10:01:27 +00:00
Robert Osfield
7ef12b37b5
Changed:
...
static TextureGLModeSet s_textureGLModeSet;
To:
static TextureGLModeSet& getTextureGLModeSet()
{
static TextureGLModeSet s_textureGLModeSet;
return s_textureGLModeSet;
}
to prevent static initialization problems under static builds.
2006-08-03 13:35:21 +00:00
Robert Osfield
f1c2694c17
Updated copyright years.
2006-07-18 15:21:48 +00:00
Robert Osfield
30265ac0b3
Added support for RenderBin's have a local top level StateSet. This is now
...
used by default in the depth sorted bin.
2006-06-29 15:57:24 +00:00
Robert Osfield
e1c77dfe2a
Minor tweaks of ints to unsigned ints
2006-05-16 21:20:36 +00:00
Robert Osfield
bf065ed3a4
From Mike Weiblen, support GLSL uniform arrays. A couple of tweaks and fixes from Robert Osfield.
2006-05-15 15:46:08 +00:00
Robert Osfield
def7a78842
Fixed typo of Validity.
2006-02-22 19:14:01 +00:00
Robert Osfield
32b929a493
Added support for OpenGL mode black listing to provide better support
...
for extension checking and invalidation of OpenGL modes associated with
extensions.
2006-02-22 14:31:13 +00:00
Robert Osfield
ff9ace16b4
From Keith Steffen, fixed bug in StateSet::clear() where parents of texture attributes
...
where not being reset correctly due to incorrect ordering of _textureAttributeList.clear().
2005-10-03 19:37:54 +00:00