[X3D-Public] reason / benefits of homogeneous coordinates in NURBS?

Philipp Serfling Philipp.Serfling at t-systems-mms.com
Tue Aug 27 23:38:25 PDT 2013


Why should there be a speed gain anyway?
Afaik it´s only possible to pass triangles  (or sometimes quads) to a low
level API like OpenGL.
So if i want to render a nurbsPatch, i compute all tesselated triangles and
let them be rendered.

In this case it doesn´t matter if the coordinates were homogeneous or
non-hom.,
before they get passed to the render API, the position of each vertice has
to be computed.

Please correct me if i´m wrong.

.philipp 

-----Ursprüngliche Nachricht-----
Von: Michalis Kamburelis [mailto:michalis.kambi at gmail.com] 
Gesendet: Mittwoch, 28. August 2013 00:23
An: Keith Victor
Cc: Philipp Serfling; x3d-public at web3d.org
Betreff: Re: [X3D-Public] reason / benefits of homogeneous coordinates in
NURBS?

Keith Victor wrote:
> I implemented X3D NURBS in Vivaty Player/Vivaty Studio many years ago, 
> and recall running into that problem.
> The spec clearly says that fourth parameter is "weight", and 
> references the NURBS book, that tells you exactly how to implement it.  
> The Spec and the NURBS book do NOT refer to "weight" as being "w", the 
> forth homogenous coordinate.  weight is weight.  It does however, 
> start with the letter "w".
>
> But, Contact and others used the "weight" as "w", the fourth 
> homogenous coordinate.  Since that is the gold standard, the bug
propagates.

Same thing with NURBS implementation in view3dscene (done based on White
Dune implementation). Using the homogenous coordinates convention for
controlPoint felt a little weird, and it doesn't make any noticeable speed
gain, but it had to be implemented like that for compatibility with other
browsers. It's not a big problem, but you have to remember about it.

Like Vincent notes, at least all implementations are consistent about it.
And it would be good to mention this in the X3D spec.

Regards,
Michalis




More information about the X3D-Public mailing list