Progress - CSG Mania
Saturday, December 22nd, 2007So today I got an idea for how to make the carving as minimally damaging as possible. The subtraction routine will now sort all of the brush faces that it will be cutting with by their size before doing anything. This allows the largest (and generally the most influential) faces to cut first which should mean that the little brushes that are generated by the small detail faces will cut as little of the level as possible. I also hooked up undo/redo on the subtraction routine so you can experiment to your hearts content to get the best cuts.
I fixed a bug - or rather, an oversight - in the subtraction code so that you can now subtract multiple brushes from the world at once.
I’m adding a bunch of other CSG options now that subtraction is working:
Subtract From World
You knew about this one already. Subtracts the selected brushes from the world.
Clip Against World
Clips the selected brushes against the world geometry. This is basically the opposite of “Subtract From World”. This is nice for nicking an edge off a brush or adding an angled corner.

Merge
Merges all selected brushes into the best shape possible. If you select very different looking brushes and merge them, you won’t get great results but if you select chunks in a wall (for example) it will merge them together into a single optimized brush very nicely.

Split
This will perform a ring cut from a selected edge on a brush. This effectively splits a brush into 2 brushes across the middle of the selected edge.

I’m working on others but we’ll have to see how they turn out.







