Archive for October, 2008

Egocentric pumpkin

I’m back from the Blender Conference, which was very stimulating as always. For some reason, it’s very easy to hang out with the other participants, and to relate with people you’ve never heard of as if they were close friends! My opinion is that Blender hits a soft spot between technical and artistic interests (and possibly even ethical, because of the open source part): this makes the overall atmosphere one of… tasteful nerdiness I would say :)

By the way let me stress once again how kind and helpful are all the top Blender heads, despite their success in the field. @ndy and Bassam are always in for a chat, and Brecht is always painstakingly giving guidance to hordes of famelic developers fighting their way through Blender’s codebase (I was one of them by the way!).

Anyway. It suddenly occurred to me that since my initial involvement in the Summer of Code, I have almost completely stopped using Blender, apart from setting up test scenes.

This is why today I took the time to carry out a small Halloween-themed project. Actually, I don’t care at all about Halloween, but anthropomorphic pumpkins are undeniably a fun subject.

Egocentric pumpkin

Egocentric pumpkin

The project eventually turned out to be mostly a programming effort after all. The blend file contains two scenes:

  • the pumpkin scene, where a Python script link takes care to move the camera and the eyes of the pumpkin randomly at each frame, also setting random values for a couple of shape keys and changing the color of the background
  • the “Polaroids” scene, where a number of randomly rotated objects display the frames rendered in the other scene (all assignments were carried out through Python scripting again)

The artistic quality of the result is pretty questionable, but, hey, if someone wants to improve shading, modeling, or whatever, here is the halloween.blend blend file to play with.

Egocentric pumpkin (monocolor)

Egocentric pumpkin (monocolor)

Leaving for Blender Conference

Tomorrow I’ll head towards Amsterdam to attend my third Blender Conference in a row. This time, besides meeting the usual lot of cool people, I’m also going to talk about my work on lightcuts — and I hope to get some useful feedback as well.

Anyway: in the last couple of days I took the time to implement some minor stuff I had been postponing for a while.

First of all, support for baking is now in. Just bake with the “Enable Lightcuts” toggle pressed: it should work now. I have to admit that this did not go through much testing, so please report any strange behavior.

A second addition was compatibility with the SSS feature from Blender Internal. Previously, it used to crash outright. Now, it gives pretty good and smooth results:

SSS + Lightcuts

SSS + Lightcuts (actually 1024 lights, not 8k as stamped)

(Apologies to Maurice R., who asked for this a long time ago… and it was actually a pretty easy fix!)

The possibility to have meshlights was another frequently requested feature. I just committed some initial code to support it.

Meshlight

Suzanne is the only light in this scene

It works automatically for all materials having an Emit value > 0.0. Unfortunately the object itself gets a completely flat shading. This will probably require a different handling UI-wise in the future, avoiding the Emit value altogether.

Finally, I also implemented some algorithmic improvements recently described in a paper by the original authors of the Lightcuts algorithm. According to them, this should lead to faster tree building times and better quality trees, which have in turn a positive effect on rendering times. Actually the improvements are barely noticeable most of the time but at the very least it simplifies code.