A Stroke Renderer

Stroke Renderer Sunflow render with global illumination and 3 sphere lights+ View large.

Spent a little time today on another tangent. One thing I didn’t like about those faux-cityscape renders was the fact that you completely lost all sense of the originating data. This isn’t necessarily a bad thing, but part of the reason I developed this whole system was to bring forth the energy and motion that actually went into creating the “seed” drawing.

So I took a step back and created a new renderer that let me isolate the individual “strokes” that were captured during the drawing session. In these renders, I’ve isolated three strokes; each has a unique color. The peaks in the height are derived from the relative velocity of a stroke at a given snapshot in time.

In Cinder, I created a GL scene that has a positionable camera and lets me page through each stroke. Then I can tap a key and dump out that stroke’s Sunflow scene data to the console. Along the way, I learned how to use the TriMesh class in Cinder. It made dumping the Sunflow scene data easier, since it really parallels Sunflow’s “generic-mesh” type.

The render at the top uses three sphere lights, a basic diffuse shader for each object, and Sunflow’s path-tracing global illumination system. The render below uses the Sunflow sunsky light, a foggy Phong shader on the three strokes, and the “fake” global illumination setting in order to get some vague ambient light. I started discovering that there are a lot of possible combinations for lighting in Sunflow — almost an overwhelming number.

Next I’m gonna try a different drawing technique for rendering these strokes.

Stroke Renderer Sunflow render with a Sunsky light, Phong shaders, and some fake global illumination+ View large.

  • http://www.lawriecape.co.uk Lawrie

    Awesome! These look great. I thought they were actual models made of cardboard. It’s awesome watching your project develop – looking forwards to seeing where it goes next.