SimpLSystem: A Perfectly Comprehensib-L-System

I’ve made an L-system for Fabric Engine, called SimpLSystem. The project lives right now is on the Fabric Engine forums. The code is on my personal GitHub. The goal is for it to be a collaborative project in the Fabric Engine user community to explore variations and applications of L-Systems. As such, it’s not very far along and I’ve released it pretty early to allow it to be more community-driven. So if you like the intersection of these curious systems with high performance computation and node graphs, give it a shot!Several evolutions of an L system, each color is + 1.0 iterations.

L-systems, if you don’t know, are these neat things that take small strings and then make monstrously huge strings out of them by repeatedly replacing single characters with the other strings. Then the monstrously huge strings are interpreted into some kind of geometry by feeding them character by character into an imaginary flying turtle, who takes orders from these characters and leaves a trail of intricate, fractal-like structures. The turtle can also teleport (to a position previously visited location). Wikipedia may have a better explanation.

koch

The first few times I tried to use it, it happily filled up the memory on my computer and crashed it several times because I accidentally set the iterations one level too high. L-systems have a tendency to scale that way: instantaneous, instantaneous, instantaneous, slightly laggy, completely unresponsive and quickly making everything else on my system unresponsive as well, forcing a reset and wondering if I should do the Windows-didn’t-shut-down-properly hard drive checking thing. (I’ve since added a safety that keeps the string from growing above a certain size. It should be safe now.)

pythagorasTree

Burma Trip Photos

The inside of one of the many Bagan temples. We recently went on a trip to Burma, and it was amazing. The country has only recently starting to open up and as a result it’s a really unique place. It was been my hardest working vacation yet and I hope you’ll agree the results are worth it.

wpid2209-IMG_6342.jpgIn Mandalay, the dusty second city of Burma, my favorite thing to shoot by a long shot were the markets. They’re nestled in back alleys, and the locals were very friendly and amused to see us there. Smiling and waving at anyone always got a great reaction. He was very smiley when I asked to take a picture, then adjusted his robe and settled into a more serious expression for the picture. All smiles again afterward.They were happy to talk, as much as it was possible, and made great photographic subjects.

We also visited some of the very pretty outlying areas, but they were generally less interesting to me than the city itself. One exception was the U Bein Bridge.wpid2265-IMG_6940.jpg The classic shots of it are with the sun setting behind it. We were there on a hazy morning instead, and those are some of my favorite shots.

A women visiting an ancient temple in Bagan. The walls of the temple are covered with murals, which I believe are original.The archeological city of Bagan is an amazing place that’s been photographed to death. My shots from the temples at sunrise and sunset are nice, but I feel better ones have been done. It’s a lot like shooting other monuments in that way. Still, I have many shots I’m proud of in and around the temples. While it’s more touristy, the locals were still very friendly and we had a lot of great times.

Sunrise in Bagan with a hot air balloon eclipsing the sun.
Burma is nothing like any place I’ve ever been. It’s safe and relatively easy to travel in. I’d recommend it to everyone.

Full Gallery Inside!

JF Nested Dielectric

JF Nested Dielectric is released as a Psyop open source initiative! It’s a shader for Solid Angle’s Arnold Renderer. It has one purpose – efficient, physically-plausible rendering of nested dielectric surfaces in production. Licensing info, source, and DCC helper files are available in the Git Repo linked below.

In large part, this is an implementation of the 2002 paper: Simple Nested Dielectrics in Ray-traced Images by Charles M. Schmidt and Brian Budge

It’s also capable of capable of spectral dispersion, direct refraction of light sources, production-feasible ray traced blurry caustics. It also has a few different optimization techniques built in to improve render times, including Russian Roulette and energy tracking and clamping throughout the ray tree.
Visualized by my ICE ray tracer

Visualization of ray-tracing dielectric media

JF Nested Dielectric is Copyright (c) 2014, Psyop Media Company, LLC and Jonah Friedman