Commit Graph

59 Commits

Author SHA1 Message Date
Robert Osfield
0c234e7997 From Jason Beverage, "I've got a few machines that OSG incorrectly believes support FRAME_BUFFER_OBJECTS so I am manually trying to set the renderTargetImplementation to PIXEL_BUFFER or PIXEL_BUFFER_RTT. I noticed that this call wasn't setting the camera's overlay data properly because the setRenderTargetImplementation simply calls init() which only does anything for OBJECT_DEPENDENT_WITH_ORTHOGRAPHIC_OVERLAY. Any subsequent calls to getOverlayData will simply return the cached OverlayData instead of setting it up.
My fix updates the camera's render target implementation for all OverlayData objects in the OverlayDataMap."
2008-08-17 16:45:09 +00:00
Robert Osfield
ec9218ad1f Refactored OverlayData so that its possible to subclass OverlayNode/OverlayData. 2008-07-23 22:19:29 +00:00
Robert Osfield
55de8b03d9 From Wojciech Lewandowski, "----1----
Attached is a fixed version of OverlayNode.cpp. I fixed CustomPolytope::cut( osg::Plane ) method.  Bug was apparent in such scenario:
 
Let P1 be some random frustum polytope
Let P2 be the polytope that was created from P1 bounding box (P2 contains P1 entirely)
 
Then ignoring precision errors: P1.cut( P2 ) == P2.cut( P1 ) == P1.  But this condition was not always met. Cut failed when some of the polytope reference points happened to lie exactly on some intersecting planes in both P1 & P2  (plane distance was = 0).
 
I only use CustomPolytope for my shadowing stuff so I did not test how this affects rest of OverlayNode.cpp.
 
----2----
 
Also attached is a minor precision improvement for osg::Plane intersect method (double version). 
 
----3----
 
I have also one observation regarding osg::Plane - There are two intersect vertices methods (float and double flavour):
 
inline int intersect(const std::vector<Vec3>& vertices) const
inline int intersect(const std::vector<Vec3d>& vertices) const
 
I guess osg::Plane won't compile when someone changes default vec3 typedef to vec3d. Shouldn't the first method be changed to use vec3f explicitly ? Ie:
 
inline int intersect(const std::vector<Vec3f>& vertices) const"
2008-02-25 14:15:27 +00:00
Robert Osfield
53be383843 From Wojciech Lewandowski, "By complete coincidence I just have read an old OSG submission mail related
to bugfixes in osg::Polytope.setToUnitFrustum and setToBoundingBox  It was
sent at beginning of december. I read it when purging my Thrash emails and
found it there this because it was wrongly classified as SPAM.

What stroke me in this email was the fact that there was once an error in
Polytope class. Since I adopted CustomPolytope (osgSim OverlayNode.cpp) for
my minimal shadow area computations I checked my code for this error. And I
found it in CustomPolytope::setToUnitFrustum method.
CustomPolytope::setToBoundingBox seemed OK.

So I went back to the origin and fixed this error in OverlayNode.cpp as
well. I have not tested it in OverlayNode though (I don't know how) so
please look at this carefully. But it seems to work fine with my shadow
calculations."
2007-12-20 14:40:28 +00:00
Robert Osfield
0726624a86 From Jose Delport: "have been using the new VIEW_DEPENDENT_WITH_ORTHOGRAPHIC_OVERLAY mode
of the OverlayNode.

I change the overlay subgraph dynamically and when I remove all the
subgraph nodes that is inside the current main camera FOV (others
outside still exist), the overlay texture does not update because of the
early return in the traversal. I then get a kind of ghost texture moving
around the terrain.

The attached file fixed the problem for me, but I'm not sure if it is
the best way to address the problem."
2007-09-24 09:35:59 +00:00
Robert Osfield
8bc8b6b5e9 Removed check for shaders/overlay_perspective_main.vert 2007-09-19 09:00:05 +00:00
Robert Osfield
8e7e6529be From David Callu, warning fixes 2007-09-07 15:03:56 +00:00
Robert Osfield
4ba3f3c1a1 Changed RenderLeaf and StateGraph so that they use ref_ptr<> by default for Drawable and StateSet. 2007-08-31 16:05:24 +00:00
Robert Osfield
4c443bf843 From Brad Christiansen, "I added the ability to set the render target implementaion on the
osgSim::OverlayNode. The attached changes were made against the 2.0
release."
2007-08-13 10:17:18 +00:00
Robert Osfield
81986f4387 Changed debug message to INFO level 2007-08-06 09:28:28 +00:00
Robert Osfield
5aa3db15a3 Improved the computation of the side vector 2007-07-05 18:30:57 +00:00
Robert Osfield
746d916fce Reverted to using non silhouette computation. 2007-06-26 11:31:39 +00:00
Robert Osfield
1a78eb8159 Changed the RTT Camera so that it doesn't automatically recompute the near and far planes 2007-06-25 13:48:57 +00:00
Robert Osfield
f61c6262f7 Included shaders directly into source, added support for toggle lighting on/off 2007-06-14 20:58:43 +00:00
Robert Osfield
8c727acddc Added new shader support 2007-06-13 19:53:48 +00:00
Robert Osfield
b8f9364cef Wired up new shaders 2007-06-13 14:05:21 +00:00
Robert Osfield
3eb4c3baa6 Work in progress on perspective view dependant codes 2007-06-12 08:30:41 +00:00
Robert Osfield
211abb16dc Updated version numbers for release 2007-06-06 21:43:38 +00:00
Robert Osfield
3d853fcbc6 Removed the debug message for the ortho path. 2007-06-01 19:01:23 +00:00
Robert Osfield
c79a7e7ad5 Work in progress on shaders support 2007-06-01 18:27:08 +00:00
Robert Osfield
9b1426e47e Improved taper ratio computation 2007-05-30 17:56:43 +00:00
Robert Osfield
7b31aeca43 Added set up of overlay stateset 2007-05-30 16:36:47 +00:00
Robert Osfield
a510ecf5bd Added trapezodial fitting code 2007-05-30 14:18:33 +00:00
Robert Osfield
adf95c8261 Fixed handle on non ellipsoid models 2007-05-28 15:27:21 +00:00
Robert Osfield
4abacc9d3d Added project down to base implementation. 2007-05-28 13:56:26 +00:00
Robert Osfield
a8cae09c30 Added s/getOverlayBaseHeight methods 2007-05-25 16:00:38 +00:00
Robert Osfield
74d19eed34 Implemnet clampping of ovleray polytope to base plane 2007-05-25 10:14:05 +00:00
Robert Osfield
a22a7f867e Improved the polytope cutting and project calculation 2007-05-24 14:20:02 +00:00
Robert Osfield
6918cc69e9 Fixed brackets 2007-05-23 19:30:16 +00:00
Robert Osfield
7673184d01 Added insertion of center point into object polytope 2007-05-23 14:55:59 +00:00
Robert Osfield
6a6f57ad56 Added angular sorting of the points on the plane intersecting the cut plane. 2007-05-23 13:26:21 +00:00
Robert Osfield
732685d125 Fixed build error under float matrix build 2007-05-20 11:13:18 +00:00
Robert Osfield
e37ec98748 Various additions to better support view dependent overlay node, and updated wrappers 2007-05-19 13:43:38 +00:00
Robert Osfield
851df77673 Improved view dependent camera positioning 2007-05-17 15:39:33 +00:00
Robert Osfield
d80cf6b5ee Futher work on view dependent OverlayNode 2007-05-16 19:19:43 +00:00
Robert Osfield
78800829ed Refactored the internals of OverlayNode 2007-05-16 14:22:10 +00:00
Robert Osfield
310d6d2fc8 Added code for computing the frustum dimensions in local coords to the overlay node 2007-05-16 11:32:29 +00:00
Robert Osfield
1e0af35900 Added code to better compute the view frustum that is appropriate for a traversed
subgraph.
2007-05-15 17:04:57 +00:00
Robert Osfield
dd1f6982dd Futher work on new view dependent overlay node 2007-05-15 11:22:25 +00:00
Robert Osfield
e41cd46da8 Set up new view dependent overlay technique control methods 2007-05-14 20:23:10 +00:00
Robert Osfield
228fd04a19 Removed the exclusion of CullSettings from the genwrapper.conf, and then changed the CullStack RefMatrix& methods to RefMatrix*
as the RefMatrix& versions caused the wrappers to fail.
2007-02-21 13:48:01 +00:00
Robert Osfield
dd958be8a4 Added setThreadSafeRefUnref, resizeGLObjectBuffers and releaseGLObjects to OverlayNode 2007-01-11 10:21:11 +00:00
Robert Osfield
fd2ffeb310 Renamed osg::CameraNode to osg::Camera, cleaned up osg::View.
Added beginnings of new osgViewer::Scene,View,Viewer,CompositeViewer and GraphicsWindowProxy files.
2006-11-27 14:52:07 +00:00
Robert Osfield
baeb41a416 From Michael Henheffer, "There's a problem with OverlayNodes where the texture will not display
if continuous updating is set to false.

The problem was being caused by the camera update call never being made
if continuous updating was not set to true.  This fix adds a flag that
is set when dirtyOverlayTexture() is called and checked in the update
visitor section of the traversal to determine if the camera should be
updated.

I tested the fix by making some changes to the osgAnimate example
program so it has continuous updating off and calls dirtyOverlayTexture
for each frame.  The overlay texture now displays properly."
2006-10-30 12:19:41 +00:00
Robert Osfield
cdaca0ebdf Fixed crash due on multipipe systems due by moving the local camera update code from the cull into the update traversal. 2006-08-02 11:36:13 +00:00
Robert Osfield
f1c2694c17 Updated copyright years. 2006-07-18 15:21:48 +00:00
Robert Osfield
34cdf22794 Fixed popping of state frustum. 2006-05-02 09:18:36 +00:00
Robert Osfield
7d5c81bf5e From Ulrich Hertlein, spelling corrections and a few Doxgen comments. 2006-02-20 21:05:23 +00:00
Robert Osfield
e1454d22a7 Attempt at build fixes for IRIX. 2005-12-05 10:24:02 +00:00
Robert Osfield
7ac71b939f Added setOverlayClearColor and setTexEnvMode and automatic set up of TexEnv. 2005-09-29 10:22:06 +00:00