See what's going on with flipcode!


Submitted by The Ostrich, posted on 21 January 2003

Image Description, by The Ostrich

This image was generated using two programs of mine. The first was my tree generator program, and the second was my new raytracing engine. Neither is yet complete - The tree generator requires some support for gravitational constraints and moment sums, and the raytracer needs support for diffuse interobject lighting and soft shadows.

The tree generator program uses a parameterised stochastic model to generate the branches and leaf positions/orientations. Once the model has been generated, the program outputs a script file of primitives (cylinders and spheres for the branches, and references to a leaf subscene file for the leaves). This is then read by the raytracer.

The raytracer sorts the scene (in this case about 100,000 primitives) into a binary hierarchy of bounding spheres, using a minimum sum of surface areas heuristic to evaluate 10 randomly chosen splitter planes for each split in the hierarchy. The program the uses a depth rejection technique, where spheres further away than the closest intersection found so far are rejected without further evaluation. The image in question is a detail taken from a 2560x1920 top-down render of a tree model, with 9 directional lights, and no ambient component at all. None of the primitives are textured, a fact which, combined with the multiple lighting directions, gives the image a somewhat 'anime' feel.

The only part of the scene that was actually made by hand was the leaf model (since I don't have a 3D editing package, I just typed the coordinates for my design into a script file by hand).

For other examples of my work, see my website:

-The Ostrich

Image of the Day Gallery



Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
Please read our Terms, Conditions, and Privacy information.