|Menger Sponge - extreme subdivision test case|
- Build a hierarchy of procedures to describe your object, parameterised by (at least) the space it is to occupy and the detail level required, and with a secondary geometry output for capture. Each sub-procedure should be parameterised in the same way where possible.
- Procedures suitable for capturing (i.e meeting some criteria) are explicitly marked as such in the editor by selecting which inputs and outputs are to be assigned each meaning required (above).
|House synthesis graph (click to enlarge)|
- Procedures are shown as boxes, operators as plain text, each with, any sub-procedure/operator evaluations at the end of arrows heading to the right.
- Branches that yield geometry are solid, dotted branches are for any other types of value.
- Branches that lead to at least one procedure are black, those that only lead to operators are grey.
- You can see operators (or procedures) that appear to be missing further evaluations where those evaluations have already been performed by an earlier evaluation and are effectively cached.
- Procedures that contain both procedures and operators that generate geometry are the lowest point that can be captured since operators aren't designed to be captured (as they won't sub-divide). I have (manually) marked such procedures in red.
- It is clear that this house structure (as it stands) isn't best suited for sub-division as there are only a few suitable capture candidates high up the synthesis tree.
- It should be possible to evaluate and automatically capture procedures.
- Some means of hinting at 'bad' structure should be presented in the tools to guide model development.
- There may be more rules to be added later.
- Improvements in the tools can be made to aid the construction process, for example: quick sub-procedure creation from selected elements.