-
Notifications
You must be signed in to change notification settings - Fork 56
Add the GPU split polygon #68
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
Open
madhephaestus
wants to merge
817
commits into
miho:master
Choose a base branch
from
NeuronRobotics:kh/revert-split-gpu
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This ensures that the the points that each core checks if a finite and fixed number. the process can be run in iterations that are indexed at the end of the loop.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
@miho I Have here a PR that i know is unlikely to be merged, but represents a huge amount of work to bring this library up to date. I re-wrote the splitPolygon algorithm, as well as added a full-manifold mesh repair, both of which use Aparapi to run on the GPU. Other important changes were using newels method to compute the normal, instead of a dot product of 2 vectors, produces a valid normal on convex and edge case geometry. It also detects sets of colinear points, which can not be triangulated and therefor must be pruned. I also changed the CCW detection to use a reference normal and the computed normal of the points using newels method to more robustly detect CW vs CCW for concave polygons (Mosly important in SVG loading). I updated the text and svg loading to use a common Bezier extrapolation and also to use a common and triangulated monotone extrude (the rectangular method was breaking when doing spirals.)
Beyond those core algorithm corrections, i have added a ton of additional features. Many additional primitives, including parametric sweeps, threads spirals, bezier path exrsuions and 2 and 3d hexaganoal distribution methods. I have added Slicing, SVG loading and export, fixed the OBJ export, and implemented a "hole" classification where geometries are differences in union operations to simplify process flow.
All of these updates were in service of making CaDoodle CAD faster and more stable. CaDoodle is a cross-traainable open source alternative to TinkerCAD. Under the hood, JCSG powers the entire cad engine.