<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 12/11/2018 8:13 AM, Joseph D
      Williams wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:E1gWkf9-0001At-KI@elasmtp-curtail.atl.sa.earthlink.net">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@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;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.m-1109494319870621309m-9175488166943601978msolistparagraph, li.m-1109494319870621309m-9175488166943601978msolistparagraph, div.m-1109494319870621309m-9175488166943601978msolistparagraph
        {mso-style-name:m_-1109494319870621309m_-9175488166943601978msolistparagraph;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:black;}
.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:1372613687;
        mso-list-template-ids:-1;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style>
      <div class="WordSection1">
        <p class="MsoNormal">I meant simple standard gltf use of 16
          joints per vertex with unused weights set to 0.</p>
      </div>
    </blockquote>
    <br>
    Joe,<br>
    <br>
    I do not know what you are referring to or where you got your
    information. <br>
    <br>
    I found a tutorial on the Khronos GitHib
(<a class="moz-txt-link-freetext" href="https://github.com/KhronosGroup/glTF-Tutorials/blob/master/gltfTutorial/gltfTutorial_020_Skins.md">https://github.com/KhronosGroup/glTF-Tutorials/blob/master/gltfTutorial/gltfTutorial_020_Skins.md</a>)
    that discusses skinning, rigging, and animation. In "The skinning
    joints and weights" section, it states that (2nd paragraph) the the
    data structure that connects vertices to joints is commonly stored
    in a 4-element vector. This limits the number of different joints
    that can affect a vertex to four.<br>
    <br>
    <br>
    Leonard Daly<br>
    <br>
    <br>
    <br>
    <br>
    <blockquote type="cite"
      cite="mid:E1gWkf9-0001At-KI@elasmtp-curtail.atl.sa.earthlink.net">
      <div class="WordSection1">
        <p class="MsoNormal">Joe</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Sent from <a
            href="https://go.microsoft.com/fwlink/?LinkId=550986"
            moz-do-not-send="true">Mail</a> for Windows 10</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div
          style="mso-element:para-border-div;border:none;border-top:solid
          #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
          <p class="MsoNormal" style="border:none;padding:0in"><b>From:
            </b><a href="mailto:joedwil@earthlink.net"
              moz-do-not-send="true">Joseph D Williams</a><br>
            <b>Sent: </b>Tuesday, December 11, 2018 8:11 AM<br>
            <b>To: </b><a href="mailto:Leonard.Daly@realism.com"
              moz-do-not-send="true">Leonard Daly</a>; <a
              href="mailto:x3d-public@web3d.org" moz-do-not-send="true">x3d-public@web3d.org</a><br>
            <b>Subject: </b>Re: [x3d-public] glTF - HAnim conversion</p>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">What was the detail that (for the
          convenience of the hardware) ‘always’ used 19 joints per
          vertex with unused joints weights set to 0?<o:p></o:p></p>
        <p class="MsoNormal">I thought I have heard that a few times.<o:p></o:p></p>
        <p class="MsoNormal">Joe<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></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><a
              href="mailto:Leonard.Daly@realism.com"
              moz-do-not-send="true">Leonard Daly</a><br>
            <b>Sent: </b>Tuesday, December 11, 2018 7:38 AM<br>
            <b>To: </b><a href="mailto:x3d-public@web3d.org"
              moz-do-not-send="true">x3d-public@web3d.org</a><br>
            <b>Subject: </b>Re: [x3d-public] glTF - HAnim conversion<o:p></o:p></p>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal" style="margin-bottom:12.0pt"><o:p> </o:p></p>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <div>
            <div>
              <div>
                <blockquote style="border:none;border-left:solid #CCCCCC
                  1.0pt;padding:0in 0in 0in
6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
                  <div>
                    <div>
                      <ul type="disc">
                        <li
                          class="m-1109494319870621309m-9175488166943601978msolistparagraph"
                          style="mso-list:l0 level1 lfo1">glTF
                          associates a joint or<o:p></o:p></li>
                      </ul>
                      <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:40.8pt">multiple
                        joints to each vertex of a mesh <o:p></o:p></p>
                      <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:40.8pt"> <o:p></o:p></p>
                      <p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:40.8pt">yes,
                        gltf apparently associates ‘all’ or always at
                        least 16(?) joints (and weights) with each
                        vertex. That means there is feature called a
                        vertex that has a list of joints and weights
                        associated with it. There is one of these for
                        each vertex, all listing all joints and weights.<o:p></o:p></p>
                    </div>
                  </div>
                </blockquote>
              </div>
            </div>
            <div>
              <p class="MsoNormal"><o:p> </o:p></p>
            </div>
            <div>
              <p class="MsoNormal">Yes. For glTF, the minimum a
                compliant viewer needs to support is 4 joints (out of
                many) per vertex. A viewer is free to ignore additional
                joints, with the lowest weights.<o:p></o:p></p>
            </div>
          </div>
        </blockquote>
        <p class="MsoNormal" style="margin-bottom:12.0pt"><br>
          <br>
          Standard practice in the animation industry is to use a
          maximum of four joints per skin vertex. There is no standard
          that limits this. Practical experience from rigging (attaching
          vertices to joints (aka bones)) and performance indicates that
          (for the most part) four is the most that is needed. In many
          cases it is only two.<br>
          <br>
          So for practical purposes, the limit in glTF does not impact
          what can be done.<o:p></o:p></p>
        <p class="MsoNormal">-- <br>
          <b><span style="font-size:13.5pt;color:#333366">Leonard Daly</span></b><span
            style="color:#333366"><br>
            3D Systems & Cloud Consultant<br>
            LA ACM SIGGRAPH Past Chair<br>
            President, Daly Realism - <i>Creating the Future</i> </span><o:p></o:p></p>
        <p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
        <p class="MsoNormal"><o:p> </o:p></p>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
x3d-public mailing list
<a class="moz-txt-link-abbreviated" href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>
<a class="moz-txt-link-freetext" href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a>
</pre>
    </blockquote>
    <p><br>
    </p>
    <div class="moz-signature">-- <br>
      <font class="tahoma,arial,helvetica san serif" color="#333366">
        <font size="+1"><b>Leonard Daly</b></font><br>
        3D Systems & Cloud Consultant<br>
        LA ACM SIGGRAPH Past Chair<br>
        President, Daly Realism - <i>Creating the Future</i>
      </font></div>
  </body>
</html>