<div dir="auto">Yes, (almost) exactly.</div><div dir="auto"><br></div><div dir="auto">The only change I would do to what Don wrote is that I would start by making shadowIntensity initializeOnly, i.e. [] instead of [in,out]. While changing it at runtime is possible (as with everything), it could have very big cost when changing from 0 to 1. I'm not strongly opposed to [in,out], just saying I would start with [] and see at adoption in browsers and think about "upgrading" to [in,out] in next version.</div><div dir="auto"><br></div><div dir="auto">Regards,</div><div dir="auto">Michalis</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">W dniu pon., 5.10.2020 o 21:50 Don Brutzman <<a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a>> napisał(a):<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">Specifics please: are you gentlemen talking about adding backwards-compatible field signature of<br><br><br><br>   SFFloat [in,out] shadowIntensity  0     [0,1]<br><br><br><br>to X3DLightNode (and thus DirectionalLight, PointLight, SpotLight)?<br><br><br><br><a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-WD2/Part01/components/lighting.html#X3DLightNode" rel="noreferrer" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-WD2/Part01/components/lighting.html#X3DLightNode</a><br><br><br><br>=============================================<br><br>17.3.1 X3DLightNode<br><br><br><br>X3DLightNode : X3DChildNode {<br><br>   SFFloat [in,out] ambientIntensity 0     [0,1]<br><br>   SFColor [in,out] color            1 1 1 [0,1]<br><br>   SFBool  [in,out] global           FALSE<br><br>   SFFloat [in,out] intensity        1     [0,∞]<br><br>   SFNode  [in,out] metadata         NULL  [X3DMetadataObject]<br><br>   SFBool  [in,out] on               TRUE<br><br>}<br><br>=============================================<br><br><br><br><br><br>On 10/5/2020 7:08 AM, Andreas Plesch wrote:<br><br>> <br><br>> I think the exact interpretation of intermediate values would be<br><br>> implementation dependent in any case. It may be ok to just stay that.<br><br>> <br><br>> "<br><br>> shadowIntensity ranges from 0 to 1.0 [could be omitted because the<br><br>> range is defined in the signature]. A value of 0, the default, has no<br><br>> effect. A value of 1.0 has the effect that no light emitted by the<br><br>> node reaches the areas where shadows are cast by shapes in the scope<br><br>> of the light. A value between 0 and 1.0 has the effect that an<br><br>> intermediate amount of light reaches shadowed areas. Support for<br><br>> intermediate values is browser dependent.<br><br>> "<br><br>> <br><br>> Only shapes in the scope of a light can cast shadows since only those<br><br>> shapes are lit by the light. One general question then is which shapes<br><br>> should be able to receive shadowing. Potentially all shapes in the<br><br>> scene but perhaps it makes sense to restrict receiving shapes also to<br><br>> the scope of the light ? The wording above does not offer further<br><br>> detail which would mean that the browser is given room to answer that<br><br>> question.<br><br>> <br><br>> -Andreas<br><br>> <br><br>> <br><br>> On Mon, Oct 5, 2020 at 6:56 AM Michalis Kamburelis<br><br>> <<a href="mailto:michalis.kambi@gmail.com" target="_blank">michalis.kambi@gmail.com</a>> wrote:<br><br>>><br><br>>>  From Castle Game Engine / view3dscene side, I can go for "SFfloat<br><br>>> shadowIntensity" with this interpretation too :)<br><br>>><br><br>>> Compared to my earlier proposal "SFBool shadows", the<br><br>>> "shadowIntensity" is obviously more flexible, I can see the<br><br>>> advantages. And with shadow maps, it is easy to support any<br><br>>> intermediate value, e.g. allow 0.5 of the light to reach the surface.<br><br>>><br><br>>> With shadow volumes it's not possible (at least not easily) but then<br><br>>> the implementation can always go with simple Andreas' wording """0<br><br>>> means no shadows, 1 means full shadow.""". We would need to say what<br><br>>> happens for intermediate values in this case, e.g. "if implementation<br><br>>> only supports 0.0 and 1.0, then any value >= 0.5 behaves like 1.0,<br><br>>> otherwise (value < 0.5) behaves like 0.0".<br><br>>><br><br>>> Regards,<br><br>>> Michalis<br><br>>><br><br>>> pon., 5 paź 2020 o 04:49 Andreas Plesch <<a href="mailto:andreasplesch@gmail.com" target="_blank">andreasplesch@gmail.com</a>> napisał(a):<br><br>>>><br><br>>>> As motivation to make Shadows a high priority for the next version let<br><br>>>> me share Holger's cool idea to use Sponza for shadows:<br><br>>>><br><br>>>> <a href="https://create3000.github.io/media/examples/Navigation/NavigationInfo/example.html" rel="noreferrer" target="_blank">https://create3000.github.io/media/examples/Navigation/NavigationInfo/example.html</a><br><br>>>><br><br>>>> I could adopt it pretty much as is for x3dom:<br><br>>>><br><br>>>> <a href="https://raw.githack.com/andreasplesch/x3dom/scopedLights/test/functional/scopedLights/inline.html" rel="noreferrer" target="_blank">https://raw.githack.com/andreasplesch/x3dom/scopedLights/test/functional/scopedLights/inline.html</a><br><br>>>><br><br>>>> (without the nice ParticleSystem, and with slightly changed<br><br>>>> intensities and locations).<br><br>>>><br><br>>>> The main required field for both x3dom and x_ite to enable shadows is<br><br>>>> shadowIntensity. 0 means no shadows, 1 means full shadow.<br><br>>>><br><br>>>> -Andreas<br><br>>>> --<br><br>>>> Andreas Plesch<br><br>>>> Waltham, MA 02453<br><br><br><br>all the best, Don<br><br>-- <br><br>Don Brutzman  Naval Postgraduate School, Code USW/Br       <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a><br><br>Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149<br><br>X3D graphics, virtual worlds, navy robotics <a href="http://faculty.nps.edu/brutzman" rel="noreferrer" target="_blank">http://faculty.nps.edu/brutzman</a><br><br></blockquote></div></div>