godot/modules/csg/doc_classes
K. S. Ernest (iFire) Lee 0c312c7a08
Fix CSG edge case causing intersection line to hit on common edge of 2 triangles.
The previous implementation assumed that the intersection entered or exited a
shape when it hit right on the common edge of 2 triangles. However, there is
also a case where it just "skirts" the other shape on the outside.

To fix this, we added code to check the intersection distance and if the
normals of the faces are pointed in the same direction as the intersection or
not (e.g. inner product > 0). This handles the case where the intersection
line hits the common edge of 2 triangles and skirts the other shape on the
outside.

Extended code to cover a third case.

Fixes #58637.

Co-authored-by: OldBelge <StevenGeens@users.noreply.github.com>
(cherry picked from commit eaa84bc682)
2023-05-12 12:06:59 +02:00
..
CSGBox3D.xml Add an XML schema for documentation 2022-02-15 00:03:31 +01:00
CSGCombiner3D.xml Add an XML schema for documentation 2022-02-15 00:03:31 +01:00
CSGCylinder3D.xml Add an XML schema for documentation 2022-02-15 00:03:31 +01:00
CSGMesh3D.xml Add an XML schema for documentation 2022-02-15 00:03:31 +01:00
CSGPolygon3D.xml Add an XML schema for documentation 2022-02-15 00:03:31 +01:00
CSGPrimitive3D.xml Rename `CSGPrimitive3D.invert_faces` to `flip_faces` 2022-05-06 20:51:46 -05:00
CSGShape3D.xml Fix CSG edge case causing intersection line to hit on common edge of 2 triangles. 2023-05-12 12:06:59 +02:00
CSGSphere3D.xml Decrease default sizes of some primitive and CSG meshes for consistency 2022-04-27 22:45:38 +02:00
CSGTorus3D.xml Add an XML schema for documentation 2022-02-15 00:03:31 +01:00