<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Thanks for pointing in the right direction John.</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Direct links to functional requirements for Displacer in HAnim 2.0 specification:</div>
<ul data-editing-info="{"applyListStyleFromLevel":false,"unorderedStyleType":1}" style="list-style-type: disc;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<div class="elementToProof">HAnim 2.0. Part 1:  Humanoid animation (HAnim) architecture, Clause 4 Concepts, 4.7 Displacer object</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<div class="elementToProof">https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#DisplacerObject</div>
<div><br>
</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<div class="elementToProof">HAnim 2.0. Part 1:  Humanoid animation (HAnim) architecture, Clause 6 Object interfaces, 6.6 Displacer</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<div class="elementToProof">https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/ObjectInterfaces.html#Displacer</div>
</li></ul>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
and</div>
<ul data-editing-info="{"applyListStyleFromLevel":false,"unorderedStyleType":1}" style="list-style-type: disc;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<div class="elementToProof">X3D 4.0 Architecture, Clause 26 Humanoid Animation (HAnim) component, 26.3.1 HAnimDisplacer</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<div class="elementToProof">https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/hanim.html#HAnimDisplacer</div>
</li></ul>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
and informative</div>
<ul data-editing-info="{"applyListStyleFromLevel":false,"unorderedStyleType":1}" style="list-style-type: disc;">
<li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<div class="elementToProof">X3D Tooltips, HAnimDisplacer</div>
</li><li style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<div class="elementToProof">https://www.web3d.org/x3d/content/X3dTooltips.html#HAnimDisplacer</div>
</li></ul>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Thanks for implementation efforts and careful scrutiny.</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
Questions and potential issues/clarifications/corrections are always welcome.</div>
<div class="elementToProof" style="font-family: "Courier New"; font-size: 9pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: "Courier New"; font-size: 9pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: "Courier New"; font-size: 9pt; color: rgb(0, 0, 0);">
all the best, Don</div>
<div class="elementToProof" id="Signature">
<p style="margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;"><span style="font-family: "Courier New"; font-size: 9pt;">--</span></p>
<p style="margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;"><span style="font-family: "Courier New"; font-size: 9pt;">Don Brutzman  Naval Postgraduate School, Code USW/Br        brutzman@nps.edu</span></p>
<p style="margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;"><span style="font-family: "Courier New"; font-size: 9pt;">Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149</span></p>
<p style="margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;"><span style="font-family: "Courier New"; font-size: 9pt;">X3D graphics, virtual worlds, navy robotics https://faculty.nps.edu/brutzman</span></p>
<p style="margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;"><span style="font-family: "Courier New"; font-size: 9pt;"> </span></p>
</div>
<div id="appendonsend"></div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
<br>
</div>
<hr style="display: inline-block; width: 98%;">
<div id="divRplyFwdMsg" dir="ltr"><span style="font-family: Calibri, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);"><b>From:</b> x3d-public <x3d-public-bounces@web3d.org> on behalf of John Carlson via x3d-public <x3d-public@web3d.org><br>
<b>Sent:</b> Saturday, February 8, 2025 3:43 AM<br>
<b>To:</b> Extensible 3D (X3D) Graphics public discussion <x3d-public@web3d.org>; Carol McDonald <cemd2@comcast.net>; Joe D Williams <joedwil@earthlink.net><br>
<b>Cc:</b> John Carlson <yottzumm@gmail.com>; Andreas Plesch <andreasplesch@gmail.com><br>
<b>Subject:</b> Re: [x3d-public] HAnimDisplacer effect on coord.point</span>
<div> </div>
</div>
<div style="direction: ltr;">Here’s what HAnim spec says under Displacer: </div>
<div style="direction: ltr;"><br>
</div>
<div class="elementToProof" style="direction: ltr;"><a href="https://www.web3d.org/documents/specifications/19774/V2.0/index.html" id="OWA61427f53-f118-5bac-b102-08e400d8fb7d" class="OWAAutoLink" data-auth="NotApplicable">https://www.web3d.org/documents/specifications/19774/V2.0/index.html</a></div>
<div style="direction: ltr;"><br>
</div>
<div style="direction: ltr; font-family: verdana, arial, helvetica, sans-serif; color: rgb(0, 0, 0);">
<span style="font-size: 26px;">“For the </span><span style="font-size: 24px;"><b>Displacer</b></span><span style="font-size: 26px;"> objects that are contained in the
<i>displacers</i> field of the </span><span style="font-size: 24px;"><b>Segment</b></span><span style="font-size: 26px;"> objects, the
<i>displacements</i> are defined and applied in the </span><span style="font-size: 24px;"><b>Segment</b></span><span style="font-size: 26px;"> coordinate system. The base mesh for the morphed
</span><span style="font-size: 24px;"><b>Segment</b></span><span style="font-size: 26px;"> is the original mesh defined in the
</span><span style="font-size: 24px;"><b>Segment</b></span><span style="font-size: 26px;">.”</span></div>
<div style="direction: ltr; font-family: verdana, arial, helvetica, sans-serif; font-size: 26px; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: verdana, arial, helvetica, sans-serif; font-size: 26px; color: rgb(0, 0, 0);">
And here’s what it says under Segment:</div>
<div style="direction: ltr; font-family: verdana, arial, helvetica, sans-serif; font-size: 26px; color: rgb(0, 0, 0);">
<br>
</div>
<div style="direction: ltr; font-family: verdana, arial, helvetica, sans-serif; font-size: 26px; color: rgb(0, 0, 0);">
“</div>
<p style="direction: ltr; text-indent: 0px; font-family: verdana, arial, helvetica, sans-serif; font-size: 26px; color: rgb(0, 0, 0);">
The <i>coord</i> field is used for <span style="font-size: 24px;"><b>Segment</b></span> objects that have deformable meshes and shall contain coordinates referenced from the indexed mesh for the
<span style="font-size: 24px;"><b>Segment</b></span> object. The coordinates are given the same name as the
<span style="font-size: 24px;"><b>Segment</b></span> object, but with a <span style="font-family: monospace; font-size: 20px;">
<code>"_coords"</code></span> appended (e.g.,<span style="font-family: monospace; font-size: 20px;"><code>"skull_coords"</code></span>).”</p>
<div style="direction: ltr;">displacements are an offset from the mesh,  with weight from 0 to 1.  So weight times displacement is total offset from base mesh.  0 weight = no offset, 1 weight = full displacements offset</div>
<div style="direction: ltr;"><br>
</div>
<div style="direction: ltr;">The Coordinate point is maintained to handle weight = 0.  Weight ranges from 0 to 1, but double check.</div>
<div style="direction: ltr;"><br>
</div>
<div style="direction: ltr;">Joe or Carol might know where to find it in the HAnim spec.</div>
<div style="direction: ltr;"><br>
</div>
<div style="direction: ltr;">I believe the answer is, “during rendering,”. Since weight can vary with animation, and so can displacements, AFAIK.  More than one displacer can be applied to the mesh.</div>
<div style="direction: ltr;"><br>
</div>
<div style="direction: ltr;">I have not read the spec.</div>
<div style="direction: ltr;"><br>
</div>
<div style="direction: ltr;">John</div>
<div style="direction: ltr;"><br>
</div>
<div style="direction: ltr;"><br>
</div>
<div><br>
</div>
<div style="direction: ltr;">On Sat, Feb 8, 2025 at 5:13 AM Andreas Plesch via x3d-public <<a href="mailto:x3d-public@web3d.org" id="OWAb86c4cd8-27f2-681e-bb7e-2732c863133b" class="OWAAutoLink">x3d-public@web3d.org</a>> wrote:</div>
<blockquote style="margin: 0px 0px 0px 0.8ex; padding-left: 1ex; border-left: 1px solid rgb(204, 204, 204);">
<div style="direction: ltr;"><a href="https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/hanim.html#HAnimDisplacer" id="OWA748f8f86-5a13-fcc4-378f-0e062af92d90" class="OWAAutoLink" data-auth="NotApplicable">https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/hanim.html#HAnimDisplacer</a></div>
<div style="direction: ltr;"><br>
</div>
<div style="direction: ltr;">does not directly explain what the effect of the displacer on the coord.point field of the containing HAnimSegment is. But it mentions the coord.point field and seems to imply that the coord.point field is involved.</div>
<div style="direction: ltr;"><br>
</div>
<div style="direction: ltr;">So the question is if the Displacer should alter the coord.point field in order to achieve a graphical displacement, or if the Browser should only apply the displacements during rendering without a change in the coord.point field
 ?</div>
<div style="direction: ltr;"><br>
</div>
<div style="direction: ltr;">This is relevant if the coord.point field is accessed by routes or scripts, in addition to displacers.</div>
<div style="direction: ltr;"><br>
</div>
<div style="direction: ltr;">Thanks for any feedback or ideas,</div>
<div style="direction: ltr;"><br>
</div>
<div style="direction: ltr;">Andreas</div>
<div style="direction: ltr;"><br>
</div>
<div style="direction: ltr;">--</div>
<div style="direction: ltr;">Andreas Plesch<br>
Waltham, MA 02453</div>
_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org" id="OWAdb1a012a-dd2e-6378-f309-7baffb783773" class="OWAAutoLink">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" id="OWAf436619e-d094-4516-0cbc-f504294e755b" class="OWAAutoLink" data-auth="NotApplicable">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
</blockquote>
</body>
</html>