Robert Osfield
22e309e8fb
Created new PerlinNoise class from the Noise.h+Noise.cpp code in the osgshaders example.
2011-12-13 21:12:00 +00:00
Robert Osfield
33479c7768
Improvements to the compute near/far
2011-10-17 14:41:49 +00:00
Robert Osfield
ca51a1113b
From Magnus Kessler, documentation fixes
2011-09-12 12:14:17 +00:00
Robert Osfield
4b6593b211
Fixed typos in the documentation
2011-09-12 11:51:14 +00:00
Robert Osfield
1fd3c84287
Added fine grained computation of the far plane when using the COMPUTE_NEAR_FAR_USING_PRIMITIVES ComputeNearFarMode.
...
Added COMPUTE_NEAR_FAR_USING_PRIMITIVES option that provides the original functionality where only the near plane
is computed in a fine grained way, with the far plane being computed simply from bound volumes.
2011-09-01 18:48:21 +00:00
Robert Osfield
e4a73d121e
Added replacement of the placeholder StateSet in the StateGraph with custom StateSet implemented just for the
...
needs of that particular frame.
2011-08-09 06:54:44 +00:00
Robert Osfield
17b9cfad02
Improved the handling of compiling vs flushing deleted objects
2011-06-15 18:31:11 +00:00
Robert Osfield
de7d61978b
Added CullVisitor::setCalculatedNearPlane() and setCalculatedFarPlane(() methods to enable 3rd party code to manage the compute of the near/far planes.
2011-05-23 08:17:02 +00:00
Robert Osfield
b380387f53
From Sukender, "Here is a tiny fix which adds missing virtual methods in osgUtil::TransformAttributeFunctor, to handle Vec3d."
2011-05-12 13:12:07 +00:00
Robert Osfield
7f14e7dac9
Removed trailing spaces
2011-05-06 12:32:23 +00:00
Robert Osfield
de30bf3f1c
Fixed Coverity reported issue.
...
CID 11828: Uninitialized scalar field (UNINIT_CTOR)
Non-static class member distance is not initialized in this constructor nor in any functions that it calls.
Non-static class member maxDistance is not initialized in this constructor nor in any functions that it calls.
Non-static class member numIntersectionPoints is not initialized in this constructor nor in any functions that it calls.
Non-static class member primitiveIndex is not initialized in this constructor nor in any functions that it calls.
2011-05-06 12:30:58 +00:00
Robert Osfield
70aa087f6e
Added releaseGLObjects(State*) support into osg::FrameBufferObject, osg::RenderBin and osg::RenderStage
...
to ensure proper clean up of FBO's on closing a graphics context.
2011-04-20 11:45:01 +00:00
Robert Osfield
8ffa50a88e
Added IncrementalCompileOperation::compileAllForNextFrame(uint) method and supporting
...
functionality that tell the IncrementalCompileOperation to compile all pending objects during next draw traversal,
for specified number of frames.
2011-04-18 12:35:19 +00:00
Robert Osfield
e28f9a7d32
Added CullVisitor::Identifier to help with cull operations that require a consistent identifier for
...
cull traveresals when osgViewer::Renderer uses double buffering.
2011-03-17 13:54:14 +00:00
Robert Osfield
7cd74f0282
From Farshid Lashkari, "Another update. I added a LIMIT_NEAREST enum which implements your previous suggestion of rejecting bounding volumes further from the nearest existing intersection. I only implemented this for LineSegmentIntersector. I'd appreciate it if you could double check the math I added to LineSegmentIntersector::intersects() for checking if the bounding sphere is further away. The results of this are promising. I'm getting noticeable performance increase for line intersections with scenes containing many drawables.
...
"
2011-03-14 10:07:15 +00:00
Robert Osfield
f7718d2b7b
From Farshid Lashkari, removal of redundent spaces at the end of lines.
2011-03-11 17:20:24 +00:00
Robert Osfield
d3d0859b4c
From Piotr Gwiazdowski, "So there's config setting OSG_DISABLE_MSVC_WARNINGS which should
...
disable pragmas that turn off specific warnings for MSVC.
Unfortunately it's presence is only checked in osg/Export header,
making other Export headers disable warnings no matter what, which is
kind of incoherent.
My fix adds #include <osg/Config> to every Export header. I've also
unified checking whether to disable warnings to current osg/Export
way:
#if defined(_MSC_VER) && defined(OSG_DISABLE_MSVC_WARNINGS).
Attachment contains all changed Export files in their original locations."
2011-03-09 14:15:04 +00:00
Robert Osfield
4b4754c3cf
Implementated experimental reuse of PBO's after download
2011-02-07 14:19:58 +00:00
Robert Osfield
6496e35421
Moved GraphicsCostEstimator ref pointer into osg::State
2011-02-03 12:42:23 +00:00
Robert Osfield
88ce98b47d
Moved GraphicsCostEstimator from osgUtil into core OSG library
2011-02-03 12:22:09 +00:00
Robert Osfield
99fc347212
Added experimental timing and PBO usage into ICO+GCE classes
2011-02-01 12:18:22 +00:00
Robert Osfield
373f3931e9
Implement first pass at texture compile estimation
2011-01-26 18:47:55 +00:00
Robert Osfield
a4f2cbe577
Replaced CompileStats with GraphicsCostEstimator
2011-01-26 16:47:40 +00:00
Robert Osfield
9df072ce05
Moved GraphicsCostEstimator into osgUtil.
2011-01-26 12:51:46 +00:00
Robert Osfield
11cd5a89ed
Implemented better coupling of DatabasePager and IcrementalCompileOperation,
...
removing functional duplication and opening the door to dynamic enabling/disabling
of pre compile based on load.
2011-01-17 17:17:19 +00:00
Robert Osfield
0d814bb6b8
Refactored IncrementalCompileOperation to make it more flexible.
2010-12-24 19:19:48 +00:00
Robert Osfield
410b4fd109
Converted FrameStamp::g/setFrameNumber from int to uint
2010-12-22 20:11:05 +00:00
Robert Osfield
017a03ffe5
Refactor of DatabasePage/IncrementalCompileOperation to use the IncrementalCompileOperator for compiling objects
2010-12-10 15:27:19 +00:00
Robert Osfield
b2cf978ae3
Renamed YES and NO enums with more description names that don't overlap with iOS #define's
2010-12-06 10:35:02 +00:00
Robert Osfield
147fdd0430
From Sukender, "1. More handled cases in MergeGeometryVisitor
...
- Algorithm doesn't try to merge double and single precision arrays together
- Algorithm doesn't try to merge incompatible geometries (ex: one with "vertices + texoords", and another with only vertices)
2. Better TextureAtlasBuilder
Algorithm is still sub-optimal, but it now tries to fill more blanks, using "unused space in the current line".
(Don't know if I already submitted it, but I guess not)
One day, someone should try to find a good solution to this NP-problem... For instance : http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.140.200&rep=rep1&type=pdf
"
2010-11-05 17:04:08 +00:00
Robert Osfield
9978516bf7
Added number of primitive sets to on screen stats
2010-10-25 13:42:01 +00:00
Robert Osfield
f91944fbbf
Added paging support to osganalysis example
2010-10-22 12:19:22 +00:00
Robert Osfield
1a292ad8e3
Integrated IncementalCompileOperation into DatabasePager.
...
Improved various facilities in IncrementalCompileOperation.
2010-10-21 16:29:23 +00:00
Robert Osfield
6ed74470b2
Introduction of IncrementalCompileOperation support to DatabasePager.
2010-10-14 18:16:03 +00:00
Robert Osfield
b55f75111e
Added support for using a custom osg::Geometry that attempts to force the OpenGL driver
...
to download the texture object to graphics card.
Calling IncrementalCompileOperation::assignForceTextureDownloadGeometry() assigns a geometry
to the job.
2010-10-13 15:03:02 +00:00
Robert Osfield
d23ce985a1
Introduced osg namespace to new local GLU functions
2010-10-07 11:53:28 +00:00
Robert Osfield
89f7726383
Copied libutil and libtess implementations in form Mesa 7.9/src/glu into the src/osg/glu,
...
changed extensions from .c to .cpp and got compiling as C files as part of the osg core library.
Updated and cleaned up the rest of the OSG to use the new internal GLU.
2010-10-06 14:44:52 +00:00
Robert Osfield
cbc43841e1
From Roland Smeenk, "this submission adds a "Fast Drawable" line to the camera scene statistics.
...
It shows the total number of sorted and unsorted drawables that use the fastpath for rendering."
2010-09-09 10:03:58 +00:00
Robert Osfield
acbaf3962c
Cleaned up the inline methods
2010-08-09 16:14:25 +00:00
Robert Osfield
075b1b769c
Beginning of crease angle support for SmoothingVisitor to all it duplicate vertices are creases
...
thus enabling separate normals for triangles adjacent to the creases.
2010-07-30 19:39:38 +00:00
Robert Osfield
7c38643a77
From Tim Moore, "I noticed that the "Materials" statistic in the camera scene stats display seemed to be identical to the number of drawables. In fact, it displays the nummat member of osgUtil::Statistics, but that variable has nothing to do with materials. nummat tracks the number of matrices associated with Drawable objects in a RenderBin; as I understand it, Drawables pretty much always have a model-view matrix tied to them in RenderBins, so this statistic doesn't seem very useful. So, I added statistics for the number of StateGraph objects in RenderBins and also for the number of Drawables in the "fine grain ordering" of RenderBins. The latter corresponds to the number of Drawables in the scene that are sorted by some criteria other than graphics state; usually that is distance for semi-transparent objects, though it could be traversal order. These two statistics give an idea of the number of graphic state changes happening in a visible scene: each StateGraph implies a state change, and there could be a change for each sorted object too. You can also subtract the number of sorted Drawables from the total number of Drawables and get an idea of how many Drawables are being drawn for each StateGraph.
...
"
2010-04-20 10:59:44 +00:00
Robert Osfield
b1658ee6df
From Farshid Lashkari, "I noticed that osg::State::getInitialViewMatrix returns the monocular view matrix when rendering in stereo. I've made some changes to osgUtil::RenderStage & SceneView so that it will return the correct view matrix depending on which eye is currently being rendered." & "I made a small change to the previous patch so that osg::State::getInitialViewMatrix works correctly with pre/post render stages as well."
2010-04-19 14:49:42 +00:00
Robert Osfield
7a44b43474
From Time Moore, "This submission implements 3 optimizations for meshes. INDEX_MESH turns DrawArrays style geometry into DrawElements, uniquifying the vertices in the process. This is useful for certain loaders, like ac3d, which just spit out DrawArrays. VERTEX_POSTTRANSFORM and VERTEX_PRETRANSFORM optimize mesh triangle and vertex order for the caches on a modern GPU, using Tom Forsyth's algorithm. I describe this and the big difference it makes (38% improvement on a very large mesh) in my blog,
...
http://shiny-dynamics.blogspot.com/2010/03/vertex-cache-optimization-for-osg.html ."
2010-03-11 18:15:20 +00:00
Robert Osfield
6c07be375c
Clean up of initialization of statics/use of getenv
2010-03-11 16:46:01 +00:00
Robert Osfield
86f491e649
Replaced use of unsigned int/enum mask combinations with int/enum mask combinations to avoid the need for casting enums to unsigned ints,
...
and to avoid associated warnings.
Update wrappers to reflect these changes.
2010-03-05 12:55:08 +00:00
Robert Osfield
88474271e3
From Fabien Lavignotte, "In order to compile on Windows with Wrappers ON, some exports are still missing on osgPresentation::AnimationMaterialCallback and osgUtil::IncrementalCompileOperation::CompileSet."
2010-02-19 14:30:01 +00:00
Robert Osfield
f795770fed
Added support for passing on slave Camera's StateSet's to the rendering backend.
2010-01-21 10:24:48 +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
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