Simple fragment shader based wireframe display

On his blog, Florian Boesch introduces to a clever technique to render wireframe polygons using fragment shading, along with a live demo. The full explanation is presented in this paper. For convex polygons, just add as an attribute (or compute in the geometry shader?) the distance between the vertex and the other edges, and use the minimum distance in the fragment shader. Simple, easy to implement, and a nice anti-aliased result. (the paper also presents a second technique for non-convex polygons).

Making the subtle obvious, follow-up

A couple of months ago I was posting here about this SIGGRAPH publication on amplification of details in a video. Yesterday the New York Times put online a story as well as a video on the topic, with explanations from the authors and some new examples.

A game engine programmer walks into a bar…

A game engine programmer walks into a bar, asks for a beer or two and starts chatting, especially with that green eyed hot girl. After some small talk she asks him what he’s doing for a living. “Oh I work in a video game company you know…” “Oh really, that sounds cool! And what do you do there?” And there it comes. He can try changing the topic, being mysterious, accidentally spilling his glass, or he can try to answer that question without sounding soporific.

About a year ago a colleague asked me how you would explain to someone who is not in the video game industry – not in software, not even in anything related to technology for that matter, to a normal person you know – what your job consists in when you work on a game engine. “Well it’s… blah blah…” Nah, too long, it’s already boring. The explanation should be brief, easy to get and possibly sort of cool. After a couple of tries we agreed on a description we thought worked.

Working on a game engine is like building a stadium.

Once you have a stadium, you can have all sorts of games played inside: football, basketball, athletics… All you need are rules and some equipment, and then the players can get in. Just like in a game, once you have the engine, all you need are the logic and the assets. You could even have a gig. But you might not be able to have ice hockey or swimming competitions if your stadium is not meant for it. Just like a game engine allows certain kinds of games and not others.

I found this metaphor to come in handy when, you know, talking to normal people about what you do. Now for the rest of the conversation with the hot girl (or hot guy, no sexism here), that’s up to you. ;-)

Résumé d'une soirée Flickr

Paperman, by Disney

I was delighted to discover the last Disney short film, Paperman, which was released to the public a few days ago. Almost completely in black and white, with a hint of red, this animation a small gem of directing.

If I may try myself at a analyzing the image, notice how the light is used to support the story.

The guy is lit according to his mood: a strong but soft rim light when he is happy, a dim and dull ambient light at work, a strong and harsh side light when the moment is intense. Notice for example how his face has soft shadows at the office, but strong shadows right before he runs. Notice too how the paper planes pull him from the shadow back into the light.

The woman is lit depending on how unreachable she gets: the more difficult she is to reach, the less lit she is. As she gets in her train, she is surrounded by shadow. Similarly, when she is seen from the window, the whole building is bright, drawing attention to her, but the room is still dark as she is unreachable. As the paper planes get closer, she gets more and more light. When she passes the door, she gets back in the shadow.

Of course when they reach each other and finally meet, they both are in the light.