[WWW-Vrml] VisibilitySensor in LOD Level Browser Tests

Russ Kinter pyth7 at verizon.net
Tue Sep 22 13:33:59 PDT 2009


Hi Tony,
Thanks for your very quick response.
I would like to add that I think my interpretation is more than reasonable,
because it makes good economic sense.
Any interpretation other than what Xj3D and Contact uses forces the
developer to add a ProximitySensor into the
scene to turn off the animation -resulting in a duplication of effort
because the LOD already tracks the user.
The LOD/VisibilitySensor tandem combo is elegant.
 
Thanks again,
Russ Kinter
 
 
  _____  

From: Tony Parisi [mailto:tparisi at vivaty.com] 
Sent: Tuesday, September 22, 2009 4:12 PM
To: Russ Kinter; x3d-public at web3d.org; vrml
Cc: FreeWRL X3D/VRML Viewer
Subject: RE: [WWW-Vrml] VisibilitySensor in LOD Level Browser Tests
 
Hi Russ
 
I believe this. Vivaty Player doesn't cull out sensors if their boxes aren't
part of the active scene graph. It's never been clear to me-nor explicit in
the spec-as to what the correct behavior is supposed to be for a sensor that
is switched out of a Switch or LOD. It would be nice to get some clarifying
language in the spec someday.
 
But your interpretation is totally reasonable. Sorry if we came down on the
wrong side of it :-o I promise you it was motivated purely by the desire to
keep an already complicated implementation as simple as we could. But I
could certainly be talked into changing this in the future.
 
Tony
 
 
 
From: www-vrml-bounces at web3d.org [mailto:www-vrml-bounces at web3d.org] On
Behalf Of Russ Kinter
Sent: Tuesday, September 22, 2009 1:05 PM
To: x3d-public at web3d.org; 'vrml'
Cc: 'FreeWRL X3D/VRML Viewer'
Subject: [WWW-Vrml] VisibilitySensor in LOD Level Browser Tests
 
Hi,
I have been doing some testing of including a VisibilitySensor as a member
of the first level of the LOD Node to control an animation. The idea is that
the animation won't start until the animated geometry appears in the range
of the LOD.
The VisibilitySensor is grouped with this geometry.
 
The results work similar to a ProximitySensor. 
This method should work according to "The Annotated VRML 97 Reference
Manual" at 
http://www.cs.vu.nl/~eliens/documents/vrml/reference/CH3.HTM#VisibilitySenso
r :
 
"If enabled is TRUE, the VisibilitySensor node detects changes to the
visibility status of the box specified and sends events through the isActive
eventOut. A TRUE event is output to isActive when any portion of the box
impacts the rendered view. A FALSE event is sent when the box has no effect
on the view. Browsers shall guarantee that, if isActive is FALSE, the box
has absolutely no effect on the rendered view. Browsers may err liberally
when isActive is TRUE. For example, the box may affect the rendering."
 
If the VisibilitySensor as a member of a LOD level is currently out of range
that means its box is NOT impacting the rendered view, so its isActive
output should be FALSE.
 
This test world:
http://www.sevenemeraldtablets.net/VisibilityTest/VisibilityTest2.wrl 
however shows mixed results for various browsers.
 
There is a HUD display of the VisibilitySensor and TimeSensor activity. 
The transparent red cube is both the VisibilitySensor's box and LOD range
boundary. 
 
Xj3D and Contact get it right! kudos!.
 
Vivaty does initially, but if the user enters box/LOD level and turns on the
animation and then leaves the range
Vivaty won't switch off the animation, so the LOD is ignored after the
VisibilitySensor is activated. 
The VisibilitySensor seems to work as it should otherwise. 
 
InstantPlayer fails in that it will not shut off the VisibilitySensor when
it is out of the LOD range.
The LOD has no affect on it and is ignored. The VisibilitySensor works as it
should otherwise.
 
CosmoPlayer does the opposite of Vivaty. It makes the VisibilitySensor
active on load, but once the viewer enters the range
and leaves, then the test works just like it should.
 
FreeWRL works initially, but once the LOD range is entered and the
VisibiltySensor is activated, then the VisibiltySensor
isActive TRUE no matter what -even when the red box is out of sight and out
of mind.
Clicking on the cones to change viewpoints FreeWRL puts the user at the
wrong coordinates. 
 
Cortona 5.1 fails completely. The VisibilitySensor isActive TRUE no matter
what -even if the user is completely turned away.
OctagaPlayer fails too in exactly the same way.
 
Thanks!
Russ Kinter
 
"All the fires of Cain's motivation cannot burn a love that's sound." -
Stacy Sutherland
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/www-vrml_web3d.org/attachments/20090922/e6a0e58f/attachment-0001.html>


More information about the Www-vrml mailing list