I’m just back from the Siggraph Asia 2012. I was impressed by the people I met, the talks and courses I attended, and why not, the places I visited. Singapore is a very interesting city for a tourist. Among the people I met, a particular meeting was long overdue. I finally had a chance to meet Paul Bourke personally.

We collaborated (meaning he helped me ;)) in the fisheye implementation for the Blender Game Engine back in 2009. Since then there is not a fisheye related question that I don’t bounce by him first. So, in between talks he kindly shared his thoughts for stereoscopic rendering for domes. It took me a week to work around the problem, but here you can see the first real renders in a patched Blender with Cycles.

The formula is very simple, it’s just one of those problems that is really hard to debug (at least when you don’t have a dome with 3d projectors at hand). Thankfully in my flight back I had the peace of mind to wrap that up.

3D Model The White Room cortesy from Jay-Artist, shared on blendswap.com

As a teaser, this is all you get for now. More on that later 😉

I’m flying tomorrow to my second Siggraph. My first one was last year here in Vancouver. Now it’s time to check on the Asian conference. Funny thing, my main motivation to fly that far is to present a poster part of the panorama rendering project I’ve been blogging about. But now that I decided to attend, I came to realize how fantastic the courses and talks are. And we even have a Blender Birds of a Feather there, it will be really nice 🙂

For the records, and to help myself to keep track of what my plans are, this is what got me pumped up to not miss a moment of Siggraph. Mouth drowning time:

Birds of a Feather (basically a show and tell)

* Blender Foundation – Artist Showcase (I will probably be showing some of my projects there)
* Pipeline & Tools – coordinated by two LucasFilm employees


* Pre-visualisation: Assisting Filmmakers in Realizing their Vision
* Method of Induction of Basic and Complex Emotions in Video Games and Virtual Environments
* Constructing a Stereo Pipeline from Scratch: Lessons Learned from Disney’s “The Secret of the Wings”
* Story Structure for Programmers, Game Designers and Artists
(note: this workshop is presented by Craig Caldwell, professor from University of Utah, a great seasoned animator among other things, who I had a chance to watch, and chat with at View Conference (when I went to Turin to give a BGE workshop :))

Special Sessions:

* Technical Challenges of Assassin’s Creed III: Real-Time Water
Simulation and High-Quality Linear Gameplay Sequences
* The Future of Technology Innovation at Lucasfilm: Crossover between Games and Film [cancelled]
* The Visual Effects of ‘The Dark Knight Rises’

Uff … those will be busy days!

And as far as my computer goes things are still in bad shape. It took me 30 hours to backup the HD in a vain hope of recovering something. And when I was to finally burn a new DVD with PartedMagic, the medium I have around are not compatible with my DVD driver. So I’m going to forget about this for 2 weeks and hope for a realization that I don’t need all the lost data 😉

[edit: problem solved, see here]
I’m in the verge of loosing some important data which I would like to avoid by any means.
So this is my last hope. Can you, dear internet souls, advice me into some reasonable solution?
Basically I installed windows 8 through Bootcamp with a 100GB partition.
I then decided 50GB would be enough, and from inside windows I shrinked the partition from 100GB to 50GB.
That left me with a 50GB unallocated partition. So I clicked in the partition (again, from windows8 disk utility) and ask to format it to exFAT.
Now the problem: windows asked me to assign a letter to it, and  I picked the first one avaiable. As it turned out this was taken (by the Mac I suppose) and windows did something strange. From that point on I could no longer see my OSX partition in the boot window (the one I see when keeping alt/option pressed). I couldn’t even boot on windows (it jumps to some Windows auto-repair attempts loop which now I regret may have only made my situation worse).

Oh God … Blue Screen of Death revamped?

Now the troubleshooting part:

If I boot up with a MountainLion USB boot stick (thanks PB!) I can go to the Mac Disk Utility and see three partitions in the HD (400GB, 50GB, 50GB). The first one (400GB) was supposed to be my OSX partition, but it says:

Mount Point : Not mounted
Partition Type: Windows_LDM
Capacity : 400.86GB
Available :
Used :
Now if I boot up with Linux (Ubuntu Rescue Mix live dvd) and try any of the basic recovery commands I get:
Error:  Both the primary and the backup GPT tables are corrupt. Try making a fresh table, and using Parted’s rescue feature to recover partitions.
Any hardcore suggestion? I’m accepting anything from linux hacks to redo the GPT table forcing it to match my original ideal tables, or mac or, …
I don’t care about the windows partitions, so for me they are as good as dead. I’m only concerned about the OSX data.
I remember from my days of Linux that I could try to force a change of partition type without reformatting. But that will only work if windows changed the partition type but didn’t did it properly. I’m not sure this is relevant though. I’m not even sure whateheck a GPT table is …
AppleCare is not much more helpful (they are nice to speak with, but didn’t get very far). So the internet is my last hope …
Thanks a lot, any help is appreciated 🙂

In case Alice’s rabbit is right, it’s always good to have your eyes at the current time. I was never a fan of arm’s watches and I do use Blender in fullscreen (alt+F11). So what to do?

You are right, an addon to show the current time in the Info header. Download the file here, or copy and past the code below. Have fun.

bl_info = {
    "name": "Clock",
    "author": "Dalai Felinto (dfelinto)",
    "version": (1,0),
    "blender": (2, 6, 6),
    "location": "Info header",
    "description": "Shows the current time",
    "warning": "",
    "wiki_url": "",
    "tracker_url": "",
    "category": "Useless"}

import bpy
import time

def header_info(self, context):
    t = time.localtime()
    self.layout.label("%02d:%02d:%02d" % (t.tm_hour, t.tm_min, t.tm_sec))

def clock_hack(context):
    # hack to update UI
    for area in bpy.context.screen.areas:
        if area.type == 'INFO':

def register():

def unregister():

if __name__ == "__main__":

This is a casual recording of the Map Range Node commit (available in Blender svn snapshots or in the future Blender 2.65).

We present different uses for this new node, including atmospheric effect and background blender composite techniques; and a neat post-production stereoscopic 3d depth based system (demonstrated in Tears of Steel). Also, we show the real time of the commit, and the feature available in another computer – we hope this encourage more people to build their own Blender builds.


This new Blender feature was elaborated during the days prior to the BlenderPRO 2012, in Brasília.
In this video you see in order of appearance:

Flag of Brazil – http://en.wikipedia.org/wiki/Flag_of_Brazil
BlenderPRO 2012 – http://www.blender.pro.br/2012@BlenderProBr
Dalai Felinto – www.dalaifelinto.com@dfelinto
Roberto Roch – thisroomthatikeep.blogspot.com.br@roberto_roch
Sebastian König – www.3dzentrale.com@s_koenig
Daniel Salazar – www.patazstudio.com@ZanQdo

I would like to thank the Fundação Banco do Brasil for believing and supporting the importance of Blender as a digital, artistic and social inclusion tool. They are a major partner (aka sponsor) of the BlenderPRO this year. Thanks to their substantial support we were able to gather so many Blender professionals in the same place, which, as I hope this video demonstrates, is the necessary fuel for collaborative development.

I also would like to personally thank the organization team of the BlenderPRO this year. The event hasn’t yet even started, but it’s already been a very interesting exchange of experience, ideas, …

Today was a meditative day to once again celebrate the passage of our Sun across the exactly-ish point in the sky. Yup, I’m getting old, but hey  don’t we all? As my self-birthday gift I decided to face the hills from home to work with my laptop in the backpack (big thing for me, I would always take the bus when I need the laptop, which means almost everyday).

Equirectangular Color Map Twisted

To make the self-celebration even more complete, I decided to not only work around my physical healthy, but also to give my mind some food for thought. In the past week, professor Adriano Oliveira was troubleshooting the cycles fisheye camera for his fulldome audiovisual work. He noticed that the equidistant lens was far off the expected (for example, compare it with the BGE fisheye lens) and even the equisolid (which is great to simulate real fisheye lens (like Nikkon, Canon, …) wasn’t producing a perfect fisheye.

Equirectangular Color Map

We have been debating that, and in the end he found some nice online references for different formulas per lens type. So today I thought it was a good time to get down the code. What you see next is the comparison between the wrong and the corrected equidistant fisheyes, the equirectangular testmap I used (as known as Blender UV Color Grid ;)) and something I’m passionated about now: to use drawing softwares to do math. You can delete things, move them around, color them .. it’s perfect 😉



So have fun with the fixed “fulldome” mode. Remember, the mode can go beyond 360 degrees if you want to make some really cool images 😉

Saving trees and abusing my tablet 😉

Now, something nice … I met prof. Adriano last year in the BlenderPRO (Brazilian Blender Conference). He may have exaggerated, but he told me that the main reason he went to the BlenderPRO was to meet me. It seems that it definitely paid off. I’m not saying I wouldn’t fix this bug if someone else had reported it. But it’s much more interesting to work with someone you met.

And why am I saying that? Well, next week we have a new edition of the BlenderPRO. So if you can make to Brasilia, don’t think twice. It’s going to be an amazing event, and I hope to see you there.

And happy birthday to me 🙂

Sometimes I have this coding itch, that doesn’t let me do anything until I’m done with developing an idea. I actually thought that I wouldn’t bother implementing the mockups I did earlier today. But in my way home I realized the implementation was actually trivial. With no further delays, the next screen is not a mockup, but a real screenshot from a patched Blender:

You are right Momo, groovy!

The complete patch is in the Blender Tracker, but the essence of the code is:

//given xco, yco and percentage
int barsize = 60;
// draw in black first
glColor3ub(0, 0, 0);
    glVertex2f(xco + 1 + barsize, yco + 10);
    glVertex2f(xco + (1 - percentage) * barsize - 1, yco + 10);
    glVertex2f(xco + 1 + (1 - percentage) * barsize - 1, yco - 1);
    glVertex2f(xco + barsize, yco - 1);

Any comments and feedbacks are still appreciated.
Time to sleep 😉

I’m reading a very interesting book on data visualization for science. (Visual Strategies by Felice C. Frankel & Angela H. Depace). The book was highlighted in last month’s Nature magazine, and is indeed highly recommended for scientists or science communicators like myself ;).

Today Mitchell asked me to look at a patch he was reviewing and adding his own changes. The patch by Angus Hollands re-organize the interface for debugging. Well, I couldn’t help giving a try at representing the numbers in a more direct way. I don’t how hard would be to implement those ideas, here are mockups only for the sake of my creative exercise. Thoughts?

Original proposal by Angus Hollands (agoose77) with changes from Mitchell Stokes (Moguri)

Why not visualize the percentage?

A more radical approach

The talk starts at 16:00 Amsterdam time (14/October/2012)

In less than half an hour I’m presenting a talk at the Blender Conference 10th years anniversary edition. The presentation will be streamed online, and if you want to follow the presentation with the slides I will use, you can download it here.

An Open Source Framework for Photo-Realistic Render of Synthetic Elements in Captured Panoramas

Dalai Felinto⋆, Aldo Zang† and Luiz Velho†

⋆ Fisheries Centre, UBC – Vancouver, Canada † Visgraf Laboratory, IMPA – Rio de Janeiro, Brazil


Slides: http://www.dalaifelinto.com/ftp/bconf2012.pdf (16MB)

Main page: http://w3.impa.br/~zang/blenderconf

Streaming: http://www.blender.org/community/blender-conference/


Panorama results:

Panorama captured in IMPA – Visgraf


original panorama from http://www.blendedskies.com


To better appreciate the panorama images you can download the following free panorama viewer apps for smart-phones: