[x3d-public] Negative scale and ccw

Andreas Plesch andreasplesch at gmail.com
Sun Mar 5 07:51:38 PST 2017


X3D allows for negative scaling factors which result in reflections. A
reflection will result in a reversal of the winding order of polygons and
triangles.

The CCW field
http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/rendering.html#Geometricproperties
defines the orientation of automatic normals relativ to the winding order.

What is the orientation of automatic normals in a CCW=true geometry after a
negative scale transformation ?

The normals are constructed before the transformation. They are then
scaled. A reflection say about the the YZ plane by a negative x scaling
factor will not flip the normal but reverse the winding order.

So the resulting winding order is now inconsistent with the orientation of
the normals.

However, in most cases this is what is intended by the scene author since a
reflection should not result in suddenly showing the backfaces of triangles.

I looked into this after discovering that three.js does not support
negative scaling for probably good reasons:

https://github.com/mrdoob/three.js/issues/4904

What is the correct interpretation of CCW in a reflection ?

Andreas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20170305/4ac2dea2/attachment.html>


More information about the x3d-public mailing list