Friday, October 3, 2014


Various voxel landscapes I made recently.
The carving tool is still pretty basic so I can't do anything impressive yet.
You basically can select from 5 shapes + 4 blend ops.  
But it works in real time so I can fly about and apply these ops and see the result immediately.

Thursday, October 2, 2014

Chile & Argentina

Here is a link to my friends blog detailing our three month trek in South America.
Photos include famous stuff like Torres Del Pine, Tierra Del Fuego, and Fitz Roy.

Probably the most memorable bits:
-trekking through lava flows created by the 2011 eruption of Volcan Pueyhue;  40 mph winds filled with ash, visibility was almost nothing, we would stumble to the edge of chasm, gaze down, and have no idea how deep it was:) Had to use GPS/compass to navigate our way.
-living in a tiny hut on a glacier for five days crammed with 12  people, waiting for a storm to pass--

Lots of nice photos on his blog
Snowfall in Tierra Del Fuego
Poking my way across a glacier

Friday, September 19, 2014

nonsense world

A non continuous signal can produce some vaguely interesting shapes & patterns. I don't think this is good for building a large world, but some of the individual parts could be cut out and pasted into a more traditional world.

Sunday, September 14, 2014

Saturday, August 30, 2014


Coloring doesn't look anything like real world terrain right now. It is just based on the octave.
Eventually I want to incorporate the elevation & slope.  
It is using a (mostly) physically based lighting model, but the input is just random stuff I entered and not based on real data.
Current input signals to lighting: red, green, blue, roughness, spec, ambient, shadow

Tuesday, August 12, 2014

bad colors

A voxel hill, so shiny

dug this out

*The colors were generated by randomly entering values between 0-255 into an array.

Hot reloading C++

 My engine now supports hot reloading of C++

It is based upon swapping DLL's and requires serialization of the engine.

1. User modify a C++ source file
2. File monitoring detects the change
3. Determines which projects are effected by the change.
4. Moves the existing DLL/PDB for those projects(they cannot be deleted as they are in use).
5. Fires up MSBuild to compile projects
6. Once Build Completes:
  • Build Fails:(
    • Build errors are propagated into the Visual Studio IDE
    • Old DLL/PDB moved back
  • Build Success:
    • Serialize state contained within relevant DLLs(into process owned memory)
    • Destroy module instances, and unload existing DLLs
    • Load new DLLs, create new module instances
    • Unserialize state
    • Resume game
Rebuilds triggered by this process generally take about 1-2 seconds.