minor fix in typo.

Cheers
David

2009/4/29 David Callu <[email protected]>

> Hi Robert
>
> Problem:
>     osgManipulator::Dragger is sometime hide by geometry which is dragged.
>
> Solution:
>     osgManipulator::Dragger draw one normal geometry and one
> semi-transparent
>     without depth test so we always see the manipulator.
>     Transparent geometry is draw in special renderbin named
> "ManipulatorRenderBin"
>     with the number stage = TRANSPARENT_BIN + 1
>
>
> Minor fix:
>     osgManipulator::CompositeDragger::handle(...) search which Dragger
> (which compose the CompositeDragger)
>     is really picked. But this method sometimes return the bad one. now
> fixed.
>
>     Current osgManipulator::TabBoxDragger (big white box) in the
> osgmanipulator example reproduce the bug.
>     Try to pick each face, on some of them the face picked is the one
> behind the front one.
>
>
>
> Minor refactoring:
>     All dragger have a setupDefaultGeometry but not virtual. now it is.
>     All Dragger based class (except CompositeDragger based class)
>      have color and pickColor properties. Now defined in ColoredDragger
>      and inserted in class inheritance hierarchy between
>      osgManipulator::Dragger and derived class
>
> I also improve the osgManipulator exemple to show all exiting manipulator
>
>
> all modification is based on SVN trunk 10121
>
> Cheers
> David
>
>
> 2009/3/13 David Callu <[email protected]>
>
> Hi Robert
>>
>> 2009/3/11 Robert Osfield <[email protected]>
>>
>>> Hi David,
>>>
>>>
>>> On Wed, Mar 11, 2009 at 12:52 PM, David Callu <[email protected]> wrote:
>>> > Problem: When I use osgManipulator::Dragger, geometry dragger is
>>> partially
>>> > hide by the geometry I want to move/rotate/scale/...  (image 1 :
>>> > dragger_hide.png)
>>> > To fix this, I render the Dragger geometry in different RenderBin with
>>> a
>>> > DEPTH_TEST OFF.
>>> > (image 2 : dragger_not_hide.png)
>>> > Put the dragger in different RenderBin is the user responsability.
>>> >
>>> > Currently, PointerInfo check if the first intersection is a dragger, if
>>> it's
>>> > not one,
>>> > nothing is done. If it's one, dragger mechanism is applied.
>>> >
>>> > Now, I need to search in intersectionList if the second or third or ..
>>> hit
>>> > is a dragger.
>>> > If it's one, apply dragger mechanism otherwise don't do anything.
>>> > Depth is the variable to specify how many hit must be test to search a
>>> > dragger.
>>>
>>> OK, I think I understand now.
>>>
>>> > If I well understand your last sentence :
>>> >
>>> > "The general approach to solving
>>> > this problem seems awkward, and can't help feel that perhaps the
>>> > dragger intersection code itself would be better off being tweaked so
>>> > that it ignores non dragger geometry automatically."
>>> >
>>> > It's better to check all intersection while there are one, and while
>>> it's
>>> > not a dragger.
>>> > So the depth variable is useless.
>>> >
>>> > I'm right ?
>>>
>>> My inclination is to just search the list from intersection list from
>>> back to front till a manipulator is hit then return this as a hit.
>>> Although I guess it might well be something you'd want to toggle
>>> on/off, perhaps per manipulator based on whether the manipulator might
>>> be using a visual trick lick the one you've suggested.
>>>
>>
>> This seem to be good solution,
>> If the manipulator is an axis base'd manipulator (and not a box or
>> sphere),
>> I add a visual trick like you suggest (one normal and one
>> semi-transparent).
>> Then on intersection test, I search in front to back.
>> If the first hit is a manipulator, return it.
>> otherwise, search in hit list, and if I found a manipulator and it have a
>> visual trick,
>> return it.
>>
>> If I search from back to front like you suggest, and two manipulator are
>> one back the other,
>> I will return the bad one.
>>
>>
>> I'm working on this.
>> More in next episode :-)
>>
>> David
>>
>>
>>> W.r.t your visuals, displaying the manipulator always on top by
>>> disabling the depth test will break the depth cue of occlusion.  My
>>> inclination would be to render the manipulator twice, once with depth
>>> test on, then a second time with depth test off and blending on so
>>> that the colour gets blended with the background colour.  This would
>>> make it seem like the geometry is semi-transparent, but with occlusion
>>> still active.
>>>
>>> Robert.
>>> _______________________________________________
>>> osg-submissions mailing list
>>> [email protected]
>>>
>>> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
>>>
>>
>>
>

Attachment: manipulator_patch.tgz
Description: GNU Zip compressed data

_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to