Rounded Box Projection

Suppose you want a nice rounded box mesh. You know how to create a mesh for a tesselated box. You know how to get a nice sphere mesh from a tesselated box mesh - you just project the box's points to a sphere:

p' = normalize(p)

What about a rounded box? How can we take a tessellated box mesh and project it nicely to a rounded box? For a box spanning [-1, 1], with a rounding radius of r, you simply:

p_box = clamp(p, -vec3(1 - r), vec3(1 - r))
p' = p_box + r * normalize(p - p_box)

Clamp the point to a smaller box, project the remainder to a sphere, reconstruct. Note that, while I say 'vec3' here, it's good for 2D as well (or however many Ds you need).

I write this down both for myself, and since I didn't find anything by searching (yes, I'm a bit embarrassed that I tried searching this first...)


I guess I'm prepared to admit that, after finally getting everything tweaked properly...linear lighting does look darn good.

Kind of amazing how what amounts to little more than a sqrt in the lighting falloff influential to the eye's perception of correctness..!


NOTE: Aberration is too aggressive.

Runtime Reflection II

A much more intuitive way to visualize the data. And appropriate, considering the game's context :)

Area of "star" is proportional to memory footprint. The connectivity is reflective of the structure of the data. Cool stuff...someday I'll do the same with the code rather than just the data. That'll be fantastic.

In-Engine Data Map
In-Engine Data Map (Closeup)

Edit: and a few more just for show :) This is a pretty deep visualization of a ship, going all the way down to the attached hardpoints (thrusters, weapons, power generator) and most of the data therein. Amazing how beautiful and structured the data is.

Runtime Reflection

Hard not to be proud of a c++ engine that lets you look inside of it with no boilerplate code :)

Runtime Reflection in the LT Engine (on the right)

Really a shame that I didn't post about any of the recent graphical improvements :( Gotta hop back on the bandwagon at some point though!

Searching for a Home

Searching for the perfect place to call home. Not that it would matter, since I haven't been saving the seeds. It's nice to think that maybe someday I could fly my ship right down through one of these atmospheres, pitch a tent and spend a year exploring. It will be a happy day when I finally do implement seamless landing. Maybe in a year or two :)

Procedural Planet
Procedural Planet
Procedural Planet
Procedural Planet (Home?)

I think the last one is my favorite :)

I think Earth-like planets are pretty much done for now. Still need to fix the distortion in those clouds, though. Maybe add a little variation to the clouds as well.


A while ago I said I wasn't going to get caught up in planets. I lied. Oh well :/

Better scattering, better surface functions, better storage of textures (using cubemaps now instead of cylindrical maps for less distortion), better clouds, and finally some "real" bumpmapping via dynamic heightmap marching. Overall, pretty big improvement in visual appeal! Still needs more interesting/detailed color.

New Procedural Planets

An Exploration of Procedural Content in Art, Music, and Reality