godot/modules
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
..
astcenc Refactor high quality texture import 2023-01-30 15:53:23 +01:00
basis_universal basisu: Loop over the last mipmap lod 2023-02-26 16:01:54 -08:00
bmp Merge pull request #67661 from cooperra/bmp-2bpp-loader 2023-01-19 10:08:21 +01:00
camera One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
csg Fix CSG edge case causing intersection line to hit on common edge of 2 triangles. 2023-05-12 12:06:59 +02:00
cvtt Use multiple threads to import HDR images 2023-02-22 09:35:15 -08:00
dds One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
denoise One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
enet Fix various typos with codespell 2023-01-30 14:22:47 +01:00
etcpak Refactor high quality texture import 2023-01-30 15:53:23 +01:00
freetype One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
gdscript GDScript: Don't fail when freed object is return 2023-04-27 08:49:29 +02:00
glslang One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
gltf Fix blend_shape (shapekey) empty name import. 2023-04-24 16:28:29 +02:00
gridmap Fix GridMap signal "cell_size_changed" disconnect error 2023-03-27 17:28:19 +02:00
hdr One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
jpg One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
jsonrpc One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
lightmapper_rd One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
mbedtls [Net] Remove StreamPeerTLS.blocking_handshake option. 2023-01-28 11:08:02 +01:00
meshoptimizer One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
minimp3 docs: replace File with FileAccess 2023-01-30 22:43:08 +08:00
mobile_vr One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
mono C# Truncate instead of round in Vector2/3/4 to Vector2I/3I/4I conversion 2023-04-07 17:44:36 +02:00
msdfgen One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
multiplayer Fixups to list handling in SceneReplicationConfig 2023-03-30 19:20:01 +02:00
navigation Fix NavigationMesh baking for HeightMapShape 2023-04-26 14:14:06 +02:00
noise [Noise/NoiseTexture2D] Allow disabling normalization 2023-01-29 14:59:10 +01:00
ogg Fix includes of thirdparty libs which can be unbundled on Linux 2023-02-16 15:52:13 +01:00
openxr Replaced operating system alert dialog with a warning log message, 2023-03-30 19:28:57 +02:00
raycast Use range iterators in LocalVector loops 2023-01-21 18:44:42 +01:00
regex One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
squish One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
svg SVG: fix tvg::Picture->size() and scale based errors. 2023-04-07 17:44:39 +02:00
text_server_adv Improve line BiDi handling, prevent crash on recursive log updates. 2023-04-24 17:03:55 +02:00
text_server_fb [TextServer] Use dedicated flag for object replacement characters. 2023-04-24 16:28:28 +02:00
tga One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
theora Patch VideoStreamPlaybackTheora::set_file to only look for header packets of one stream type 2023-02-26 09:20:49 -03:00
tinyexr One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
upnp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
vhacd One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
vorbis Fix includes of thirdparty libs which can be unbundled on Linux 2023-02-16 15:52:13 +01:00
webp libwebp: Sync with upstream 1.3.0 2023-01-25 10:38:03 -03:00
webrtc Remove some unused signals 2023-01-31 18:54:04 +01:00
websocket Fix typos and inconsistencies in classref 2023-03-16 16:43:31 +01:00
webxr Fix byte packing (and buffer overrun) in godot_webxr_get_bounds_geometry() 2023-02-10 19:33:18 -06:00
xatlas_unwrap One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
zip One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
modules_builders.py SCons: Improve logic to generate modules_tests.gen.h 2022-02-08 13:01:35 +01:00
register_module_types.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
SCsub SCons: Improve logic to generate modules_tests.gen.h 2022-02-08 13:01:35 +01:00