<div dir="ltr"><div>We came across a specification issue for Nurbs. It is unclear if provided control points should be provided </div><div><br></div><div>A) already weighted, eg. premultiplied by the given weight, or</div><div>B) if the browser, eg. the evaluation of the Nurbs should do the weighting, eg. the multiplication of each control point with the corresponding weight.</div><div><br></div><div>At first glance, since the weights are provided separately, one would think the control points should be provided unweighted, eg. B). This is also how OpenCascade or Blender specify control points (<a href="https://docs.blender.org/manual/en/latest/modeling/surfaces/structure.html">https://docs.blender.org/manual/en/latest/modeling/surfaces/structure.html</a>).</div><div><br></div><div>But tests using a torus Nurbs reveal all freeWrl, view3dscene and InstandPlayer expect premultiplied control points (case A). This is surprising but there may be a reason for that consistency. Perhaps a commonly used formula ?</div><div><br></div><div>The spec. itself is silent on this.</div><div><br></div><div>A) requires confusing redundancy, since the weight field is still needed for normalizing the weighted sum.</div><div><br></div><div>I would prefer B).</div><div><br></div><div>There are no examples which use important weights, for testing. The github issue below has the torus example.</div><div><br></div><div>If A) is the consensus, the spec. needs to point out that control points are expected to be already weighted.</div><div><br></div><div>Here is the related discussion:</div><a href="https://github.com/x3dom/x3dom/issues/1059">https://github.com/x3dom/x3dom/issues/1059</a>  <div><a href="https://github.com/andreasplesch/OCCToX3D/issues/8">https://github.com/andreasplesch/OCCToX3D/issues/8</a></div><div><br></div><div><br></div><div> -Andreas<br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>Andreas Plesch<br>Waltham, MA 02453</div></div></div></div></div>