[x3d-public] COBWEB IMPLEMENTS DYNAMIC SHADOWS

Don Brutzman brutzman at nps.edu
Sat Sep 17 09:54:41 PDT 2016


Thank you for the explanations Holger, very helpful.

Interesting references:
- https://en.wikipedia.org/wiki/Shadow
- https://en.wikipedia.org/wiki/Shadow_mapping
- https://en.wikipedia.org/wiki/Shadow_volume
- Forward Shadow Mapping performs the shadow test in eye-space rather than light-space to keep texture access more sequential.
   http://www.cs.unc.edu/~zhangh/shadow.html

Am also thinking that we should provide a way to disable shadows for particular shapes (such as user interface or annotation items, or simply as a special effect).

Conceivably we might put some kind of initializeOnly boolean field like

	SFBool [] shadowEnabled FALSE

... in Material node to permit authors to selectively decide when object shadows are rendered.

Then again, maybe such a field is more appropriate in Shape node since not all shapes use Material values.  Then again, perhaps this field is more appropriate in X3DGroupingNode since aggregated shapes might pertain in a single grouped object.

Refining even further: another alternative might be to put such a boolean field in Collision node, which itself is a X3DGroupingNode, since frequently use of shadowEnabled is not expected but nevertheless provides important value.  Conceptually shadows are not too far distant from collisions (i.e. a shadow indicates "collision" of geometry with light rays).  Scene usage might also be similar (i.e. scene objects that have collision disabled are perhaps more likely to have shadows disabled as well).

	23.4.2 Collision
	http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/navigation.html#Collision

Next issue to consider will be relationship to global scoping of lights - hopefully shadow techniques can be implemented compatibly with the existing specification approach.  I'm not seeing a difficulty here (it is a somewhat-similar render optimization) but it is good to make sure.

	17.2.1.2 Scoping of lights
	http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/lighting.html#Scopingoflights

Thanks again Holger for your insightful efforts on this important (some would say long overdue!) potential capability for X3D.  All other observations are of course welcome too.

p.s. Roy, this is a good topic for X3D working group, indeed we ought to create a page that describes these capabilities/design/options/issues and also invite Holger to join us in one of the weekly calls.

all the best, Don
-- 
Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman at nps.edu
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149
X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman



More information about the x3d-public mailing list