Simple light setup for outdoor environments

On his website, Iñigo Quilez (known for a wide range of notable contributions at RGBA, BeautyPi and Pixar; talk about an over-achiever! but I digress already), recently described the light setup he often uses for outdoor environments.

Capture of his technique in action

From the article:

This articles describes the lighting rig I use when doing such tiny computer graphics experiments with landscapes. It’s basically made of 3 or 4 directional lights, one shadow, some (fake or screen space) ambient occlusion, and a fog layer. These few elements tend to behave nicely and even look fotoreal-ish if balanced properly.

Setting up lights is not an easy task, so this article is a very welcomed insight. I especially like the trick of using an opposite directional light to fake global illumination. I also very much agree on using actual fill lights. Constant ambient alone is not enough, as you lose any sense of volume in the shadowed parts.

I am not too fond of the shadow penumbra trick though, which he described previously already. I must admit it indeed gives a warm look, but it doesn’t make any physical sense. So I suspect this should rather belong to the tone mapping part of the rendering, just like the square root he used to apply to the diffuse fall-off really was really working around the lack of gamma correction.

The recommendation to keep albedo near 0.2 is an interesting one. Indeed, your typical rock and grass albedo is nowhere near the albedo of snow (a quick look at Wikipedia gives this comparison chart). But if it is stored in a texture in a typical rendering pipeline, the question of precision lingers. I wonder how big game studios typically address this.

Technology showcase by BeautyPi

Back in 2009, Iñigo Quilez was leaving everyone in awe by releasing the milestone 4kB intro, Elevated, in cooperation with the group TBC. If you haven’t seen this masterpiece, watch it, and keep in mind this was generated from only 4096 bytes worth of data (just the text of this article is already more than a third of that).

After that, news were that he was hired by Pixar, and besides some in progress screenshots from time to time and some live coding experiments, not much was heard from him.

Then a couple of months ago this interview was published, and more recently this praising article of CGW, where we could read he had been in charge of the vegetation rendering in Pixar’s Brave. Needless to say, many people were looking forward to seeing what he would do next, especially in the real-time domain.

Today the group he’s part of, BeautyPi, which seems to be focusing on interactive animations (they presented their work earlier this year at SIGGRAPH), has published the following video. Being a showcase of their last experiments, it is not entertaining like an animation, a clip or a demo are. You could even say it’s boring. But it is visually very impressive, both technically and artistically. Although this is some real-time material, the quality is not that far from movie standards. Regarding the interaction, I am suspecting they are only scratching the surface and they may come up with some very interesting things. What these folks are doing is definitely worth following.

Live coding and apples

There is a recent trend of coding with an overlay editor on top of the live result, changing as the code gets written and modified. I suspect it originates on one hand from the work of the folks at Sexy Visuals and some of the videos Iñigo Quilez has been publishing demonstrating some concepts, including a basic raytracer in less than half an hour. And on the other hand, on Shader Toy (made by the same usual suspect), a web page using WebGL to allow fast GLSL shader prototyping in a browser.

It was only a question of time before someone would merge both concepts. Thus Ricardo Cabello (often known as Mr Doob) sparked off a lot of effervescence when he published his GLSL Sandbox. People would try many things, give feedback and advices, someone would quickly come up with a gallery… But after various toy experiments by various people, IQ would come back and make waves with his procedural apple. He also published another live coding video, showing how it was made.