Basic CSG union done

Almost there, now. After the morale-sucking experience that was drive failure amidst what was a haphazard slapping together of code to get me to where I needed to be. In a way, I’m glad it happened as it forced me to recall what I had done without the dead-ends left in. It’s not 100% complete. The faces for one set of the polygons appear to be orientated in the wrong direction. I’m sure once it’s exported as a Wavefront Object file it will be easier to see where I’m going wrong.

In the meantime, here’s the progress. I’m sad that I couldn’t retrieve the older screenshots I took, but the visual impact is almost the same.

The result of creating a union between the left brush (unseen) with the right one (visible):

Opposite side of the previous screenshot:

First attempt at rendering both of the brushes at once. This was the result of attempting to clip one against the other and the polygons being treated as one set of vertices instead of being split into multiple polygons:

The fixed version of the splitting process. The faces of the nearest cube seem to be incorrectly orientated:

The above screenshot from the opposite side:

Just to make sure I had things working as expected, I also positioned the brushes offset to create what would be a cube void in the middle (i.e. positioning one above the other as well as to the right and in front):

The worst part about the data loss is that I also had some files which represented the DAG for the editor. It should be a good test of the editor to see if it can recreate them without my help this time. I’m considering either exporting this geometry as an obj file, starting on the lightmapper, creating the UI tools, or making the CSG tools more useful to create a greybox level.

I keep putting off UI and I should get back to it. Mostly, I want to get the level geometry pipeline setup. It’s another one of those things that I could start on either, get to a point where I can’t think about it anymore, and come back to it at a later date when I’ve had time to cogitate.

I should also really get back to the server and game side at some point. I’ll think on it more.