<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ks_c_5601-1987">
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:312567398;
        mso-list-type:hybrid;
        mso-list-template-ids:-1806529136 -1767502516 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:7;
        mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;
        mso-fareast-font-family:Calibri;
        mso-bidi-font-family:"Times New Roman";}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal>Thanks for looking at this Michalis.  Further detail is available at <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><ul style='margin-top:0in' type=disc><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>Mantis <span style='font-size:10.0pt;font-family:"Verdana",sans-serif;color:black;background:#F3F3F3'>441: 17.4.3 SpotLight -- Default Values</span><o:p></o:p></li><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>https://www.web3d.org/member-only/mantis/view.php?id=441 <o:p></o:p></li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Essential point: <span style='font-size:10.0pt;font-family:"Verdana",sans-serif;color:black;background:#EBEBEB'>beamWidth is the inner angle of full intensity, cutOffAngle is the outer angle of zero intensity. Thus default values need to have cutOffAngle > beamWidth.</span><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>So I think that this change, performed in 2009, fixed a prior problem in the specification.  Brightest area needs to be the inside cone, with intensity gradually fading until reaching the outside cone.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Hopefully that now looks better to you.  Thanks for all scrutiny.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>*  https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/lighting.html#SpotLight<o:p></o:p></p><p class=MsoNormal style='margin-top:13.5pt;mso-margin-bottom-alt:auto'><b><span style='font-size:15.5pt;font-family:"Verdana",sans-serif;color:black'>17.4.4 SpotLight<o:p></o:p></span></b></p><p class=MsoNormal style='margin-left:18.75pt'><span style='font-size:8.5pt;font-family:"Courier New";color:black'>SpotLight : X3DLightNode {<o:p></o:p></span></p><p class=MsoNormal style='margin-left:18.75pt'><span style='font-size:8.5pt;font-family:"Courier New";color:black'>  SFFloat [in,out] ambientIntensity 0        [0,1]<o:p></o:p></span></p><p class=MsoNormal style='margin-left:18.75pt'><span style='font-size:8.5pt;font-family:"Courier New";color:black'>  SFVec3f [in,out] attenuation      1 0 0    [0,¡Ä)<o:p></o:p></span></p><p class=MsoNormal style='margin-left:18.75pt'><span style='font-size:8.5pt;font-family:"Courier New";color:black'>  SFFloat [in,out] beamWidth        </span><span style='font-size:8.5pt;font-family:"Times New Roman",serif;color:black'>¥ð</span><span style='font-size:8.5pt;font-family:"Courier New";color:black'>/4      (0,</span><span style='font-size:8.5pt;font-family:"Times New Roman",serif;color:black'>¥ð</span><span style='font-size:8.5pt;font-family:"Courier New";color:black'>/2]<o:p></o:p></span></p><p class=MsoNormal style='margin-left:18.75pt'><span style='font-size:8.5pt;font-family:"Courier New";color:black'>  SFColor [in,out] color            1 1 1    [0,1]<o:p></o:p></span></p><p class=MsoNormal style='margin-left:18.75pt'><span style='font-size:8.5pt;font-family:"Courier New";color:black'>  SFFloat [in,out] cutOffAngle      </span><span style='font-size:8.5pt;font-family:"Times New Roman",serif;color:black'>¥ð</span><span style='font-size:8.5pt;font-family:"Courier New";color:black'>/2      (0,</span><span style='font-size:8.5pt;font-family:"Times New Roman",serif;color:black'>¥ð</span><span style='font-size:8.5pt;font-family:"Courier New";color:black'>/2]<o:p></o:p></span></p><p class=MsoNormal style='margin-left:18.75pt'><span style='font-size:8.5pt;font-family:"Courier New";color:black'>  SFVec3f [in,out] direction        0 0 -1   (-¡Ä,¡Ä)<o:p></o:p></span></p><p class=MsoNormal style='margin-left:18.75pt'><span style='font-size:8.5pt;font-family:"Courier New";color:black'>  SFBool  [in,out] global           TRUE<o:p></o:p></span></p><p class=MsoNormal style='margin-left:18.75pt'><span style='font-size:8.5pt;font-family:"Courier New";color:black'>  SFFloat [in,out] intensity        1        [0,¡Ä)<o:p></o:p></span></p><p class=MsoNormal style='margin-left:18.75pt'><span style='font-size:8.5pt;font-family:"Courier New";color:black'>  SFVec3f [in,out] location         0 0 0    (-¡Ä,¡Ä)<o:p></o:p></span></p><p class=MsoNormal style='margin-left:18.75pt'><span style='font-size:8.5pt;font-family:"Courier New";color:black'>  SFNode  [in,out] metadata         NULL     [X3DMetadataObject]<o:p></o:p></span></p><p class=MsoNormal style='margin-left:18.75pt'><span style='font-size:8.5pt;font-family:"Courier New";color:black'>  SFBool  [in,out] on               TRUE<o:p></o:p></span></p><p class=MsoNormal style='margin-left:18.75pt'><span style='font-size:8.5pt;font-family:"Courier New";color:black'>  SFFloat [in,out] radius           100      [0,¡Ä)<o:p></o:p></span></p><p class=MsoNormal style='margin-left:18.75pt'><span style='font-size:8.5pt;font-family:"Courier New";color:black'>  SFBool  [in,out] shadows          FALSE<o:p></o:p></span></p><p class=MsoNormal style='margin-left:18.75pt'><span style='font-size:8.5pt;font-family:"Courier New";color:black'>  SFFloat [in,out] shadowIntensity  1        [0,1]<o:p></o:p></span></p><p class=MsoNormal style='margin-left:18.75pt'><span style='font-size:8.5pt;font-family:"Courier New";color:black'>}<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt'>p.s. I just confirmed correctly matching values in X3D XML Schema and DTD.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>all the best, Don<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>-- <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>Don Brutzman  Naval Postgraduate School, Code USW/Br        brutzman@nps.edu<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>X3D graphics, virtual worlds, Navy robotics https://</span> <span style='font-size:10.0pt;font-family:"Courier New"'>faculty.nps.edu/brutzman<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b>From:</b> x3d-public <x3d-public-bounces@web3d.org> <b>On Behalf Of </b>Michalis Kamburelis<br><b>Sent:</b> Sunday, February 13, 2022 8:42 PM<br><b>To:</b> X3D Graphics public mailing list <x3d-public@web3d.org><br><b>Subject:</b> Re: [x3d-public] Defaults of SpotLight.cutOffAngle, beamWidth changed (maybe by mistake) in X3D 3.3<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>Note: I have a hypothesis why this happened. <o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>The drawing presented at SpotLight description (it is the same in all X3D versions) shows a situation when beamWidth < cutOffAngle. The drawing shows a situation when these is smooth falloff between beamWidth and cutOffAngle. Maybe someone thought that defaults do not match this drawing, ans thus reversed the defaults.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>I would say that the drawing just doesn't, and never meant to, show the default state. It just shows an example state that is possible.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Regards,<o:p></o:p></p></div><div><p class=MsoNormal>Michalis<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>W dniu pon., 14.02.2022 o 05:10 Michalis Kamburelis <<a href="mailto:michalis.kambi@gmail.com">michalis.kambi@gmail.com</a>> napisa©©(a):<o:p></o:p></p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><p class=MsoNormal>Hi,<br><br>I just noticed an alarming regression at SpotLight definition across<br>X3D versions.<br><br>1. In VRML 97, X3D 3.0, 3.1 and 3.2 the default values are:<br><br>  - beamWidth pi/2<br>  - cutOffAngle pi/4<br><br>  This means that there is no smooth falloff from beamWidth to<br>cutOffAngle. Spot light has multiplier = 1 in range 0...pi/4, and then<br>it's zero outside of pi/4.<br><br>  I think this is the good definition. It makes sense as default.<br><br>  See:<br><br>  - VRML 97: <a href="https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Ftecfa.unige.ch%2Fguides%2Fvrml%2Fvrml97%2Fspec%2Fpart1%2FnodesRef.html%23SpotLight&data=04%7C01%7Cbrutzman%40nps.edu%7C972a74edb7824c76fc3108d9ef7482c4%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637804107010181974%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=r%2F8dM%2Fl0AGcdQUSl9%2By54XVM241u2DGlf5%2FPjgrs7xk%3D&reserved=0" target="_blank">http://tecfa.unige.ch/guides/vrml/vrml97/spec/part1/nodesRef.html#SpotLight</a><br><br>  - X3D 3.0: <a href="https://www.web3d.org/documents/specifications/19775-1/V3.0/Part01/components/lighting.html#SpotLight" target="_blank">https://www.web3d.org/documents/specifications/19775-1/V3.0/Part01/components/lighting.html#SpotLight</a><br><br>  - X3D 3.1: this version seems to be published only as "diff from X3D<br>3.0", and it has no change regarding SpotLight, see<br><a href="https://www.web3d.org/documents/specifications/19775-1/V3.1/Part01/components/lighting.html" target="_blank">https://www.web3d.org/documents/specifications/19775-1/V3.1/Part01/components/lighting.html</a><br><br>  - X3D 3.2: <a href="https://www.web3d.org/documents/specifications/19775-1/V3.2/Part01/components/lighting.html#SpotLight" target="_blank">https://www.web3d.org/documents/specifications/19775-1/V3.2/Part01/components/lighting.html#SpotLight</a><br><br>2. In X3D 3.3 and 4.0 however, the defaults are reversed:<br><br>  - beamWidth pi/4<br>  - cutOffAngle pi/2<br><br>  This makes a different behavior, and one that is IMHO less expected.<br>cutOffAngle pi/2 means that "total angle of spotlight" is pi, 180<br>degrees. This is possible, but unexpected as default for a spot light.<br>It's a very wide light, effectively shining on half of 3D space.<br><br>  See:<br><br>  - X3D 3.3: <a href="https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/lighting.html#SpotLight" target="_blank">https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/lighting.html#SpotLight</a><br><br>  - X3D 4.0 draft:<br><a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/lighting.html#SpotLight" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/lighting.html#SpotLight</a><br><br>What others do?<br><br>- Castle Game Engine and view3dscene always followed AD 1. I didn't<br>even know that there was a change to this in X3D 3.3.<br><br>- InstantReality (at least docs) also follows AD 1, looking at<br><a href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdoc.instantreality.org%2Fdocumentation%2Fnodetype%2FSpotLight%2F&data=04%7C01%7Cbrutzman%40nps.edu%7C972a74edb7824c76fc3108d9ef7482c4%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637804107010181974%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=p3sdxxr5to%2FGHWyHbRLLlOHQVSgTCRk4irh4U8ghVnI%3D&reserved=0" target="_blank">https://doc.instantreality.org/documentation/nodetype/SpotLight/</a><br><br>- X3DOM (at least docs) is confused, judging from<br><a href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdoc.x3dom.org%2Fauthor%2FLighting%2FSpotLight.html&data=04%7C01%7Cbrutzman%40nps.edu%7C972a74edb7824c76fc3108d9ef7482c4%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637804107010181974%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=4udwotGWwFUAjgJhxkrHEGAOTmivSThahFNbopq7ooc%3D&reserved=0" target="_blank">https://doc.x3dom.org/author/Lighting/SpotLight.html</a> . They say that<br>both cutOffAngle and beamWidth are both pi/2 by default, which is not<br>consistent with any X3D version.<br><br>I didn't test InstantReality or X3DOM in practice, only looked at docs now.<br><br>Proposal: let's fix X3D 4.0. Revert the defaults to what was in X3D 3.2:<br><br>  - beamWidth pi/2<br>  - cutOffAngle pi/4<br><br>Unless someone knows a good reason for change in X3D 3.3, I'm tempted<br>to call this just a simple human mistake when someone was editing X3D<br>3.3.<br><br>Regards,<br>Michalis<o:p></o:p></p></blockquote></div></div></div></body></html>