Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CSG: co-planar faces break algorithm #21125

Closed
nodefish opened this issue Aug 17, 2018 · 4 comments · Fixed by #36422
Closed

CSG: co-planar faces break algorithm #21125

nodefish opened this issue Aug 17, 2018 · 4 comments · Fixed by #36422

Comments

@nodefish
Copy link

nodefish commented Aug 17, 2018

Godot version:
3.1.dev

OS/device including version:
Win10 64 / GTX 980 Ti

Issue description:

Using union, subtraction or intersection on CSG nodes with co-planar / overlapping faces breaks the CSG algorithm and results in either missing faces or clipping.

image

Adding a small jitter (e.g. translating by 0.01) resolves the issue as it makes the affected faces not co-planar, but this creates significant workflow strain that adds up.

Steps to reproduce:

  • Add 2 CSGBox (or other CSG node) in the same CSGCombiner
  • Place them such that 2 of their faces are co-planar, e.g. try making a staircase with union

Bugsquad edit (keywords for easier searching): coplanar

@bojidar-bg
Copy link
Contributor

Can confirm, this is quite a nuisance when playing around with CSG-s.

@MikeSchulze
Copy link

this bug still occurs on 3.2.1

@Calinou
Copy link
Member

Calinou commented Apr 18, 2020

@MikeSchulze This is because the fix wasn't cherry-picked to 3.2.1. Due to how big the pull request that fixed it was (over 1,000 modified lines), it would be difficult to cherry-pick it for a later 3.2.x release.

That said, anyone is welcome to try to backport the pull request to the 3.2 branch by rebasing the changes and opening a pull request against the 3.2 branch.

@MikeSchulze
Copy link

@Calinou thanx for this information. Me was not clear this fix was only merged into master
@madmiraal very good to you create a pull request to bring the fix in 3.2.x ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants