[x3d-public] Normal node precision

Andreas Plesch andreasplesch at gmail.com
Wed May 6 06:49:09 PDT 2020


I guess there are no immediate opinions on the requirement that normals
need to be normalized to a length of 1.0.

How should a x3d browser process a normal with a length of 1.5 ?

A vote ? on:

a) give up. Invalidate the X3D. But what about a length of 1.01 ?
b) use as is but proceed in the processing of shading as if it is of length
1.0. May lead to rendering artefacts but I think this is the expected
behaviour.
c) normalize the normal to 1.0 internally. I guess that is what the
requirement tries to avoid browsers have to do but browser may already do
it anyways for sanity reasons.

I pick b).

Cheers, -Andreas



On Tue, Apr 28, 2020 at 12:53 PM Andreas Plesch <andreasplesch at gmail.com>
wrote:

> Looking at improving the pythonocc x3d generation, we came about the
> requirement in X3D that normals need to be normalized to unit length:
>
>
> https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/rendering.html#Normals
>
> However, the spec. is silent on how precisely that requirement needs
> to be met. Is it required to be as precise as floats allow ? As an
> example, consider
>
> (0.9, 0.43588989435, 0)
>
> This vector has unit length given float precision limits.
>
> Would
>
> (0.9, 0.43589, 0)
>
> still be considered legal although it has a length of 1.00000004605 ?
>
> Does the X3D validator check for this requirement ?
>
> Thanks, Andreas
> --
> Andreas Plesch
> Waltham, MA 02453
>


-- 
Andreas Plesch
Waltham, MA 02453
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20200506/2410e114/attachment.html>


More information about the x3d-public mailing list