A field can contain fewer triangles and still be more expensive to render. Foliage overlaps, shades the same pixels repeatedly, casts shadows, and changes silhouette as detail levels switch. A distant stand that loses most of its apparent mass is not a successful optimization just because its index count is small.
The vegetation work for Drune made that visible in several ways. Near meshes and distant representations needed to agree about coverage. Plants behind the camera were consuming a near-detail allowance before rejection. Some cards carried a normal basis that disagreed with their cooked geometry. Rocks placed against a single terrain sample could visibly float or intersect once the rendered terrain became coarser.
Keep a stable structure underneath detail
The research used EZ-Tree as a concrete source reference, with a pinned revision, an asset inventory, and license attribution. Its separation between seeded structure and mesh generation is useful: multiple representations can be derived from one underlying tree rather than invented independently at each distance.
That does not make every procedural-tree method interchangeable. The space-colonization literature and botanical models are useful alternatives, but the development record does not establish that every referenced method was implemented. The engine work focused on bounded reusable generation, reflected recipes, cooking, and runtime ownership. Species, biome choices, placement policy, and art direction remained consumer-owned.
This is an important boundary. The engine can supply a repeatable tree and a way to select its representations. Drune decides whether that tree belongs on a particular hillside, how dense the stand should be, and what the landscape is trying to feel like.
Sample the place, not just a random number
Bridson’s Poisson-disk paper is useful background for distributing samples with minimum separation. It helps explain why independent random placement and controlled spacing produce different patterns. It is related literature here, not a claim that every placement pass in Drune is a direct implementation of that paper.
Terrain adds constraints beyond spacing. Slope, source height, material channels, and the footprint of the object all affect whether placement looks plausible. One October checkpoint measured a difference of several metres between a rock’s source height and coarse terrain. The response was a bounded footprint-fit helper: sample several points, then let the game tilt and embed cosmetic outcrops. Authoritative rocks and collision were deliberately left unchanged.
That choice avoids solving an appearance problem by quietly changing the physical world. It also makes a useful diagnostic distinction between the canonical surface, its rendered approximation, and the object fitted against it.
Reject before spending scarce detail
A near-detail budget is not useful if off-camera plants consume it first. Moving camera-frustum rejection ahead of vegetation detail selection makes the allowance available to visible work. Shadow candidates still require an independent selection because an off-camera object may cast a visible shadow.
This creates two questions instead of one: which objects contribute to the game camera, and which contribute to each light? The renderer can then choose appropriate detail within each budget. Reusing the camera’s exact answer for shadows would be convenient, but it would be wrong at the edges of the view.
24 October orbit capture with wind and temporal rendering disabled in the source study. The recording cadence is 15 fps; it is not a game-performance result.
Wind and shading have their own contracts
Sousa’s Crysis chapter is useful because it treats vegetation as shading and animation as well as geometry. Broad plant motion and small leaf detail serve different visual scales. In OmiLith’s development, the corresponding concern is coherence: branch, leaf, and grass motion should participate in the same authored conditions while remaining bounded by the selected device path.
Material errors can overwhelm that work. The diary’s corrected card normals are a good example. A lighting basis mismatch may look like a distribution or colour problem until the geometry and texture conventions are inspected together. Adding more plants would only make the error more expensive.
The vegetation review was merged on 26 October with Windows, Mac, and physical iPad validation documented. Later terrain, interaction, atlas, and hydrology work continued in separate checkpoints. The lesson is not that a landscape is finished. It is that stable identity, coverage, placement, and ownership make each subsequent visual improvement easier to evaluate.
References & further reading
Primary papers and documentation related to the techniques discussed here. Research references explain the background; the article describes implementation and validation at its dated checkpoint.
Have a thought or a question?
I'd love to hear it. ↗
