Robert Osfield
9499b19b43
Moved the ArrayDispatchers management so that osg::State now has a ArrayDispatchers object that any osg::Geometry can reuse,
...
and optimized the implementation to reduce the CPU overhead.
2009-10-21 11:18:13 +00:00
Robert Osfield
6a56b6e6be
Refactored osg::Geometry::drawImplementation(..) to use new osg::ArrayDispatchers that encapsulate the task
...
of dispatch osg::Array data as OpenGL attributes.
2009-10-20 19:34:24 +00:00
Robert Osfield
eb9ff0a311
Added support for multitexturing and vertex attributes to GLBeginEndAdapter
2009-10-17 19:22:14 +00:00
Robert Osfield
73ae1637c0
Fixed VS warning
2009-10-17 11:14:03 +00:00
Robert Osfield
aefd1513f4
Ported osg::Geometry across to supporting the aliasing of vertex, color and normal etc. calls to Vertex Attributes.
...
Added support for automatic aliasing of vertex, normal, color etc. arrays to Vertex Attribute equivelants.
Added new osg::GLBeginEndAdapter class for runtime conversion from glBegin/glEnd codes to vertex arrray equivelants.
Added automatic shader source conversion from gl_ to osg_ builtins.
2009-10-16 16:26:27 +00:00
Robert Osfield
9e2567cb88
Made the use of the new projection and modelview matrix uniforms optional
2009-10-11 06:05:19 +00:00
Robert Osfield
f479eb174c
From Paul Martz, "A recent change to add the new geometry shader primitive types has broken the build on Windows. On Windows, those types are declared in the header GL2Extensions, but the PrimitiveSet header (which uses those types) fails to include that header, causing compile errors.
...
Attached is a version of PrimitiveSet that includes GL2Extensions."
2009-10-11 05:52:11 +00:00
Robert Osfield
3fce07e5e5
From Cesar L.B. Silveira, "I have written these few lines of code which allow setting the label
...
of an osgWidget::Label with an osgText::String. I had to do this on a
project I'm working on, because I needed UTF-8 strings on my labels,
and using setLabel with std::string was not working.
"
2009-10-10 11:06:30 +00:00
Robert Osfield
0ef684f6b5
To fix warning removed unncessary , from end to enum list.
2009-10-10 09:44:40 +00:00
Robert Osfield
10deffdc41
From Stephane Lamoliatte, "Here is a patch wich improves the support for geometry shaders in OpenSceneGraph.
...
It adds new PrimitiveSet constants for the specific geometry shader primitive types :
- LINES_ADJACENCY
- LINE_STRIP_ADJACENCY
- TRIANGLES_ADJACENCY
- TRIANGLE_STRIP_ADJACENCY
It also adds some missing features to the glsl reader plug'in.
"
2009-10-10 09:41:28 +00:00
Robert Osfield
f6166d1119
Introduced new uniforms for tracking the modelview and project matrices in shaders using non built-ins.
2009-10-09 13:39:11 +00:00
Robert Osfield
68b661c93b
Cleaned up the #define's for when GLU is not available
2009-10-08 09:27:54 +00:00
Robert Osfield
2d26cbe7ab
Introduced optional build against the GLU library, using optional compile paths to enable/disable GLU related function.
...
To toggle the use of the GLU library adjust the OSG_GLU_AVAILABLE variable via ccmake . or CMakeSetup.
2009-10-07 19:42:32 +00:00
Robert Osfield
ae7dfc5796
Fixed warnigns
2009-10-07 09:39:45 +00:00
Robert Osfield
69557c060b
Fixed the TextureObject's + GLBufferObject reassignment to a new set.
...
Disabled the unref after apply for a Texture classes when the texture pool is enabled
2009-10-06 13:42:12 +00:00
Robert Osfield
5d3b8fe2b0
Added missing export
2009-10-04 08:52:01 +00:00
Robert Osfield
32b21dbb89
Introduced new GLBufferObject pool for managing the memory footprint taken up by VertexBufferObejct, ElementBufferObject and PixelBufferObject.
2009-10-03 09:25:23 +00:00
Robert Osfield
f75013d534
Introduced new BufferObject design + implementation in preperation of implementing a pool system for buffer objects
2009-10-01 20:19:42 +00:00
Cedric Pinson
cfac6a7809
From Michael Platings, In Target, the default constructor is explicitly called on _target. This is necessary for FloatTarget and DoubleTarget so that _target is initialised to 0, otherwise you get a junk value. In MorphGeometry.cpp, UpdateMorph::link now links channels of the same index to the same target. Previously a new FloatTarget was created for each channel, so multiple animations didn't work.
2009-10-01 17:08:16 +00:00
Robert Osfield
1fce3c0ad1
Added handling of resetting of the texture object format
2009-09-27 15:14:57 +00:00
Robert Osfield
4d75729650
Added stats collection to new Texture Pool code, and improved TexturePool implementation.
...
The Texture Pool can be enabled by setting the env var OSG_TEXTURE_POOL_SIZE=size_in_bytes.
Note, setting a size of 1 will result in the TexturePool allocating the minimum number of
textures it can without having to reuse TextureObjects from within the same frame.
2009-09-25 18:05:54 +00:00
Robert Osfield
6bc9c626f4
Fixed warning
2009-09-25 18:03:49 +00:00
Robert Osfield
216849f73a
From Jean-Sebastien Guay, fixed Widows build and updated the SO version
2009-09-23 15:16:34 +00:00
Robert Osfield
d56499025b
Introduced memory pool size management
2009-09-23 13:51:20 +00:00
Robert Osfield
3d75054e2c
Preliminary work on support for a texture object pool that is designed to help manage resources down the GPU more tightly.
2009-09-22 18:45:24 +00:00
Cedric Pinson
2b3d76aade
From Cedric Pinson, Fix createKeyframeContainerFromTargetValue to recreate its sampler from scratch to not change keyframe container of another sampler
2009-09-09 18:13:24 +00:00
Cedric Pinson
d28b052fb7
From Cedric Pinson, remove unsused files include/osgAnimation/AnimationManager and src/osgAnimation/AnimationManager.cpp
2009-09-09 09:54:29 +00:00
Cedric Pinson
9b95a78e5d
From Michael Platings, I have removed Target::normalize() as calling it was incorrect - the interpolation is already done in such a way that the Target's value is always normalized.
...
Finally, I have fixed TemplateTarget<osg::Quat>::lerp() as it was giving incorrect results when interpolating between some small rotations.
From Cedric Pinson, i renamed the method in channel to be more general. Adjusted the CubicBezier key constructor to use a single value as input.
2009-09-09 09:52:54 +00:00
Robert Osfield
fa84f280f6
Renamed the osgVolume::Layer/ImageDetails parameters RescaleIntercept and RescaleSlope to more general TexelOffset and TexelScale, and changed type to Vec4.
...
Refactored the transfer function set up in RayTracedTechnique to prepare for new scale and offset uniforms.
Updated wrappers
2009-09-03 13:40:50 +00:00
Robert Osfield
43e3089417
Added support for recording the RescaleIntecept and RescaleSlope from the dicome files and passing these values onto osgVolume::ImageLayer
2009-09-01 10:48:32 +00:00
Cedric Pinson
641769a681
From Cedric Pinson, add missing files
2009-08-31 10:37:44 +00:00
Cedric Pinson
b6ab5bbe27
From Cedric Pinson, The following modification are
...
Update Timeline.cpp to add current layer to the ActionVisitor, use correctly the priority
Add accessors in Action.cpp to retrieve protected data
Split files and rename them to classname
Change de default color of UpdateMaterial to FFOOFF to detect unset value
Add accessors in LinkVisitor instead of accessing data directly
Update osganimationtimeline example to fit the api callback
2009-08-31 09:40:56 +00:00
Robert Osfield
ca78f3a6bc
Added support to .p3d format's volume tag for the properties:
...
region="xmin ymin zmin xmax ymax zmax"
alpha="float_value"
cutoff="float_value"
sampleDenstiy="float_value"
2009-08-27 16:42:47 +00:00
Cedric Pinson
3f9216800d
From Michael Platings, I've moved the matrix updating from UpdateSkeleton to UpdateBone. UpdateSkeleton now merely checks that Bones appear before other children and issues a warning if this isn't the case
2009-08-27 16:21:01 +00:00
Cedric Pinson
729d5205ef
From Michael Platings, I've just added a few simple accessors I found necessary
2009-08-26 16:39:53 +00:00
Cedric Pinson
3c45fb1e6c
From Michael Platings,
...
- Animations with equal priority are now weighted correctly relative to each other
- (minor) Channels no longer store their weight as the only time it's used is in update() when Animation can pass in the weight directly
From Cedric Pinson,
- I adjusted the quaternion blending to keep the commutativy property
2009-08-26 09:24:02 +00:00
Robert Osfield
c56dd6faa5
From Michael Platings, "the DAE importer was crashing when calling osg::Object::setName with a null pointer argument. Rather than trying to fix all the places this might happen and probably missing a few, I thought it would be better to trivially validate the input in setName. With this fix if setName is called with a null pointer then the name is cleared."
2009-08-22 17:13:19 +00:00
Robert Osfield
fd299b5f65
From Magnus Kessler, "At the end of the void function
...
osg::Animation::TemplateStepInterpolator::getValue the code tries to return
the result rather than assigning it to the result parameter reference.
The following patch fixes this."
2009-08-21 11:31:10 +00:00
Robert Osfield
aa85f18bbc
From Stephane Lamoliatte, "I just add the a missing getView() function to the WindowManager."
2009-08-21 09:54:45 +00:00
Robert Osfield
3f65f4f80b
From Wojciech Lewandowski, support for FBO's without colour or depth attachments.
...
Note from Robert Osfield, I've temporarily re-enabled the old focing of of color and depth attachment to avoid regressions on some OpenGL driver. We'll revist this once
we have a mechanism for controlling this override at runtime.
#define FORCE_COLOR_ATTACHMENT 1
#define FORCE_DEPTH_ATTACHMENT 1
2009-08-21 09:34:48 +00:00
Robert Osfield
65352c8533
From Magnus Kessler, "osgAnimation/Interpolator includes itself. The following patch removes the
...
superfluous include"
2009-08-20 16:39:14 +00:00
Robert Osfield
a2a2740a23
From Ronald van Maarseveen and Robert Osfield, changed compute of up vector and localToWorld transform so that it takes in to account the geographic latitude.
2009-08-20 14:19:10 +00:00
Robert Osfield
850ea3de9f
Added support for trimming the contents of parsed Xml graph
2009-08-19 15:36:23 +00:00
Cedric Pinson
2916d9b7ea
From Michael Platings,
...
Changes to allow osgAnimation::*CubicBezierChannel to be used
Added TemplateStepInterpolator class
2009-08-06 12:40:06 +00:00
Robert Osfield
589629cab8
Introduced TabBoxTrackballDragger
2009-08-05 16:02:44 +00:00
Robert Osfield
93996e6133
Added support for volume tags with properties:
...
dragger="box" or dragger="trackball"
and
technique="light" or technique="isosurface" or technique="iso" or technique="mip"
and
tf="transferfunctionfile.tf"
i.e.
<volume dragger="box">CardiacCT</volume>
<volume tf="colour.tf">CardiacCT</volume>
<volume technique="isosurface">CardiacCT</volume>
2009-08-05 14:37:56 +00:00
Robert Osfield
df9385ac19
Moved the updating and expiry of the Registry object cache from DatabasePager into osgViewer::Viewer/CompositeViewer.
2009-08-05 11:06:53 +00:00
Cedric Pinson
d2af7efc61
From Cedric Pinson, Add UpdateMaterial callback to animate material\nUpdate LinkVisitor to traverse stateset\nUpdate ReaderWriter to read osgAnimation::UpdateMaterial Callback\nUpdate nathan.osg data file to demonstrate the MaterialAnimation
2009-08-03 09:48:12 +00:00
Robert Osfield
239aed9a88
Tweak of NodeMask docs
2009-07-28 06:00:23 +00:00
Robert Osfield
35962ab099
From Lee Butler and Robert Osfield, doxygen comment explaining role of NodeMask
2009-07-24 15:30:13 +00:00