Tuesday, 18 June 2013

Procedural Closures

Previously I've been working on proving the synthesis and editing process of a single 'object' within a fixed geometry/calculation memory budget (the synthesis buffer).

Since this doesn't scale and won't let me achieve the ambition of large procedural worlds, we need something more.  This is where Phase II comes in; a system to hierarchically synthesise multiple objects of successively reducing scale and increasing detail when and where it's needed.  This is based around a kind-of 3D subdivision of the world with more subdivision and detail near the observer and less further away.  There are a number of parts to this investigation:
  • The synthesis system needs to support the concept of closures; snapshots of a procedure and its input values that can independently drive further synthesis.
  • Graphical bodies need to support sub-bodies, each capable of containing procedure closures to drive successive synthesis steps.
  • Procedures need to be able to generate higher detail closures from sub-sections of a procedural model to be used to populate these sub-bodies.
  • The renderer needs to be able to switch between low density bodies and equivalent high density sub-bodies according to distance from camera (and when they are available to draw).
This is the bare minimum needed to effectively prove the principals of phase II and enable generation of scenes much much larger than a single synthesis step can generate.
Wish me luck, I'm going in...

No comments:

Post a Comment