Fly Eye iPhone App

Fly Eye – my experiment in creative coding is out on iPhone.  It’s simple, but I wanted to take something from start to finish in 1 month.  I *almost* made it – the app was accepted 31 days after starting the project.   30 days is coincidentally, the amount of time apple will let you hang onto a macbook pro before returning it.  Probably because they know after 30 days and a lot of late nights learning how to use xcode you won’t want to…

Oh yeah – I have a blog…

Well, trying to get back into the swing of updating this.  I forgot about it for a while and now I have to pay the price – have a big backlog of things that it would have been fun to write about!  I’ve been:

  • Playing with laser cutters
  • Playing with cnc milling machines
  • Playing with processing (a computer language for artists/designers)
  • Kinect hacking
  • Driving shaders with audio input
  • Exploring some ideas in augmented reality
  • Getting really excited about arduino
  • Playing ridiculous music in a spectacularly ridiculous band
  • Getting my first significant pyqt app up and running at work

Boy – that is a long list.  I should really probably just pick one of those things to focus on for the next few weeks, but it’s all so damn cool!

Way up there

I Want a Jet

It was just fleet week here in sf, and each time the F18′s rocketed overhead it sent a chill down my spine.  The sound of a jet engine is undeniably spectacular.

Perhaps a doodle will get it out of my system.

Ahhh… Gamma. You crafty bastard.

I want to write you a poem gamma.  You are important to me, but the way you work I find infuriating.  You know my eyes you know my hardware, and yet you don’t have the common decency to step out and calmly explain yourself.  Expecting a microsoft wizard or adobe plugin to sort out all the details.  Most of the time that works, but occasionally we need to get to know each other a bit more intimately.

Jon Hable gave a phenomenal speech at GDC 2010 last year that drove home for many people the importance of knowing gamma – inviting him into your house and serving mr. gamma a tasty beer.

I recently had to do the same.  We use a baked lighting pipeline for our levels at work, it’s quite simple, piggy backing on Illuminate Labs excellent Turtle rendering plugin.  The process involves iterating lighting inside of maya for an area until we get a look we’re pleased with.  Then we write the lighting data out as abstract point cloud information where it “magically” becomes reassociated with the geometry in the running game.

The catch here is what we saw in game did not match what we saw in maya.  I’ll spare you the details of the investigation, but the end result was what anyone familiar with gamma could have guessed immediately:  The maya viewport is not corrected for monitor gamma.  That means that when you click on a color picker, you’re picking colors that have been reduced in intensity by your monitors natural gamma response, and will appear different in games, renders, etc…

The solution was to throw together a custom shader that allows us to apply the proper gamma in the vertex shader, which lets us to visualize in maya what we see in game.

The in viewport gamma correct display is made possible by this simple GammaCorrectColorDisplay.fx shader to be used with maya’s HLSL Shader plugin.

Now that I have a handle on our linear lighting pipeline from start to finish, I’m going to try and poke around a bit more and see what other little discrepancies like this continue to plague us.  A linear light rendering pipeline is truly a deep rabbit hole.

Watercolor winter forest color study

The angelic engine…

…keeps us safe when we fly through the air in our warm seats.

Meeting doodles: mission hipster deadbeat clown crossover

Meeting doodles: getting amped to make light shafts

Watercolors are hard

Return top