All the reconstruction magic is working. Fast winding numbers outperform the old vote-based method by a large margin and make it very easy to reconstruct the trees when rotated or transformed in any affine way.

I can skip other import correction steps, since it all gets corrected with the fast winding numbers and cell assignment. I also added virtual polygons to the trees, so the operations only construct the internal polygons if they need to in a lazy manner.

Memory consumption is down by quite a bit. The single threaded run of my old 10k bunny sculpt test consumes some 130M, vs it being close to 300M a few months ago. Gradually reducing and compacting. Keeping memory leaks away by using sanitization analysis regularly after I make any changes. Running with and without my memory pools. I also merged all this magic back into my main branch and so have started working on editor features mostly, since this 2 YEAR features stretch has covered all optimization tricks I had plucked into my backlog.

Now I need to write a small plugin for the machinery 3d engine, so that I can talk to my geometry backend and have the results rendered in the engine. I suspect it should not be a lot of work, since I can use the geometry construction nodes as reference. Then I will need to have it run all my old visual tests and then run it against the 10kthing data set and see what other bugs I can find, hopefully nothing of note.

This should be getting fun again now.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s