Friday, December 10, 2004

Master's Thesis

I am proud to announce that I have completed my Master's thesis on relighting real-world scenes using high dynamic range photographs! The thesis and high-resolution images are available at
Update March 28, 2007:
My experience (as illustrated by PhD Comics).

Saturday, July 31, 2004

Reading Technical Papers

When it comes time to select a new project or to do some new research, it's important to find out as much as possible about the subject area. Often times lots of research has already been done and written up as a journal or conference paper ("technical paper").

I discuss the expectations and value of technical papers and how they are used to compliment new or extended work.


Wednesday, April 14, 2004

HDR Time

I'm currently writing my Master's thesis, which comes after spending the last six months studying and writing programs that leverage high dynamic range images.

I feel that a PhD is within my reach but I'm ready to move on into industry. Perhaps later on in life I'll have a topic and desire to devote an additional two (or more) years on research, implementation, and writing up a dissertation. Right now I'm excited about working in industry and becoming a truly professional software engineer.

Tuesday, September 9, 2003

Hello, Cg!

Want to start using Cg or HLSL to write shaders? nVidia has just posted a paper I wrote on getting started with Cg.

Check it out at

Friday, July 4, 2003

High Dynamic Range images for OpenGL

8-bit color channels holding you back?

Want colors values greater than 1.0?

Want a floating-point buffer even though the hardware doesn't exist yet?

Want control over exposure and gamma?

Fusion Industries is proud to release "HDR for OpenGL", a class which allows floating-point high dynamic range images to be used in OpenGL! Works on all video cards (TNT/GeForce/Radeon) and no extensions are required.

The future is now! Get HDR for OpenGL.

Monday, June 2, 2003

FI Cg/HLSL Shading Language FAQ

I've created a Cg and HLSL FAQ for those who are learning or working with the shading languages Cg and HLSL. It covers topics such as profiles, semantics, vertex and fragment shaders, and interfacing the languages with C/C++.

Any comments, questions, additions or corrections are encouraged and welcomed.

Read the FAQ.

Thursday, May 1, 2003

FI in the News

Fusion Industries has been quoted (verbatim) about the ATI Radeon 9700/SDK on ATI developer's website at

"Mojo training day really shows that ATI cares about its developers and the community by providing us with technology, training and the tools needed to create next-generation graphics for games and visualization applications."

"In addition, the release of RenderMonkey has been an essential tool in our shader development process. Mojo day showed me how to take advantage of the advanced DirectX 9 HLSL technology quickly and easily with stunning results."

-Alex, Graphics Engineer, Fusion Industries.

Tuesday, March 18, 2003

Little Fluffy Clouds

I've recently been working on cloud lighting and rendering, based on the dissertation by Mark Harris at UNC.

We consider a cloud to be a collection of points which collect light from the sun and scatter it back to the viewer. I represent the cloud as a particle system with cloud particle billboards and light it using equations based on Harris' paper.

Images (work in progress):

Fluffy white clouds Fluffy dark clouds

On a related note, I've probably spent more time (four days) really making a good, flexible design than the actual coding (refer to the software design article). After all, coding is about thinking, not typing.

Saturday, March 15, 2003

Supply and Demand

Not even two days had passed when the phone rang.

I answered and on the other end was Microsoft.

"I have some good news for you. Both groups want you!" my recruiter said.

 I've decided to work with the Windows Tablet PC group for the summer. I'm really excited and I can't wait to go. I'll be working with the latest technologies and creating things that will be used by many people.

I feel an incredible amount of temptation to move into industry, but I'll definitely finish grad school first.

Wednesday, March 12, 2003

Jet Set Alex Future

For a brief moment, I was part of the jet set.

Microsoft flew me up to Redmond on Monday and flew me back home on Tuesday so I could interview for a summer internship. This was called by, "The Internship That Students Drool Over" (along with a link to an article and great discussion about it).

I spent the entire day interviewing separately with four developers in two groups. Each person gave me one or two programming or logic problems, which I solved with relative ease. (Examples include: given a set of numbers, remove the duplicates, optimize the sqrt out of a circle-drawing routine, minimize comparisons, and real-life work problems that my NDA probably won't let me discuss).

Everyone I talked with (from developers to recruiters to the shuttle drivers) was very approachable, friendly, energetic, and sincerely passionate about their job. Even better, I could talk with them at a comfortable technical and personal level too.

I'll find out at some point next week if I get an internship from one (or both) groups and when I do, I'll post it right away.

For more information on internships at Microsoft, visit

Wednesday, February 26, 2003

Software Design

Have you ever wondered about how software was written? In my latest article, I describe the planning and design process I go through when I'm writing software, and encourage other programmers to plan before programming.

Check out the Software Design article in the updated Lore section!

Wednesday, February 12, 2003


Happy 5th to Fusion Industries!

I've been working on visualizing surface flow over an aircraft over the last year and I'm writing a paper on it. I've posted a preview of the current project at:

Thursday, January 9, 2003

Volunteer at the GDC!

The Game Developers Conference experience is so great that I want to share it with others. The Volunteer form is up, but hurry! Applications are due by Jan 31!

After all the stories and pictures from the event, how could you not want to do it? Best of all, its free (in exchange for your time), so it's accessible to students, indie developers, and even game developers who can't get their company to pay for the conference.

Wednesday, November 20, 2002

A Crash Course in Matrix Math

The principles of linear algebra ("matrix math") are central to the ideas of graphics and simulation programming and used extensively in code.

In the latest tutorial, I describe what matrices are, the operations that can be done on them, and how that mystic 4th row and column are used in a 4x4 matrix.

The Matrix Math tutorial can be found in the Lore section.

Monday, October 21, 2002

Intro to Lisp

Lisp: a language that we're told is great but does anyone use it? I spent some time earlier this year writing AI code with Lisp and gained a new perspective on programming languages and design.

Developing with Lisp requires a completely different way of thinking about programming, especially for those coming from a procedural language background (e.g. C/C++/Java) background. However, after playing with it for a while, it makes complete sense and its a joy to work with.

Find out why and how at: Intro to Lisp, in the Lore section.

Friday, September 20, 2002

Dev Day

It's amazing how a little bit of time, effort, and pampering can change your view of a company.

Yesterday, ATI put on a developer day at some fancy hotel in San Francisco. They served us this incredible buffet lunch, with soups, cuts of meat, and ingredients to make tacos, plus some neat little pecan pie desserts. During the break, platters of chocolate chip, peanut butter, macadamia nut, and oatmeal cookies were out, all very, very good.

Each person was given a binder with info, a fat, clear pen that lit up with the push of a button, and a little black notebook, a la Msft notebooks at the GDC, not to mention their top-of-the-line video card, the Radeon 9700. Definitely very nice.

Technical talks were given too, I think. But seriously, the lectures were interesting and helpful. Topics included Pixel Shader 2.0 coding, new features in DirectX9 (plus optimization), debugging shaders, and a workshop on using their shader dev tool, RenderMonkey. Being walked though it was definitely a great way to have developers start using it, and it really does seem like a great tool -- you can easily create and tweak effects, write shader code in it, and even attach your own engine to it so you can see how it would look in your game. What I have to wonder now is how nVidia's Cg dev tools compare to this.

By reaching out to the developers, ATI presents itself as a more desirable and worthwhile company to develop for (aside from the fact that all the chips out there are basically either by ATI or nVidia). nVidia's been aggressively reaching out to developers for a long time, so the developer really benefits from this dual-education competition.

Sunday, September 8, 2002


I'm currently in Spain, checking out the architecture of Gaudi and Gehry, and the artwork of Dali, but I'll be back soon.

Tuesday, July 23, 2002


I'm studying in Italy for the summer, so the site's not dead, just on pause for a couple of months.

Saturday, May 25, 2002

E3 First Impressions

We're back from E3!

Quick snippets

  • Overheard about Super Mario Sunshine: "Mario's gone from a plumber to a janitor!"
  • Ryan and I were talking with nVidia and as we left the conference room, we passed by Todd Hollenshead (CEO) and Marty Stratton of id (and wearing Doom III shirts), who were waiting outside.
  • Saw Warren Spector on the show floor (of Deus Ex, among other incredible games).
  • Saw DOOM III! We almost watched it with Tony Hawk but at the last minute he didn't come because he had to sign autographs.
  • SimCity4: Incredibly beautiful, detailed, and fun! Great job, Maxis!


  • At 8:30am Ryan and I waited at the side doors to get in to the expo.
  • At 9:00am the doors opened and we ran to find the line.
  • At 9:02am we were in line that had a 2 hour wait(!)
  • At 9:30am all the showings in the day were booked (about 35 11-minute shows).
  • At 10:05am we saw DOOM III.
  • At 10:16am E3 was worth it.

My DOOM III impressions 
I realize that DOOM III is still in development, but here's what I think about it so far

  • Trent Reznor was quoted as saying, "we want to get inside your head and make it an unpleasant place to be." That's an understatement. DOOM III is incredibly scary (and gruesome too).
  • The atmosphere is tense: Every second is dripping in agonizing tension and fear of what lies around the next corner or going to jump out from the shadows. As you walk through, pieces of metal might fall and create a scary clanging sound, making you think something is near.
  • The industrial environment looked absolutely stunning and the detail and quality was way, way above anything we've seen before. The monsters, on the other hand, looked fairly shiny and plastic-like. We think this is due to the way bump-mapping is being used. This is just me, but the shiny fat zombies are just lame (even though their bellies jiggle when monsters eat their guts, literally)
  • Scary Death Sequence: Huge salivating monster kills you and your head hits the ground and you can only see your arm and his feet as you black out. He then rips off your head (which you can still see though, of course) and then eat you. It's so disgusting but very well done.
  • The console in the theatre was apparently from a Star Trek movie.
  • Nice physics! Boxes tumble and so do monsters down the stairs.

Wednesday, May 22, 2002

E3 Expedition

We are making our annual pilgrimage to the awe-inspiring show that is E3 (or at least what it used to be). Top priority is checking out DOOM III! Although the movie they're showing will probably be posted online right after the show, it'll be so much cooler to see it real-time in a room right out of DOOM. Yes!

Sunday, April 28, 2002

The Economy as Seen Through the GDC 2002

Here we can see the state of the economy as reflected in the amount of schwag I've been able to get each year. Unfortunately, I didn't take a photo of the stuff from 1999, but let me assure you it was equal or more than what I got at the GDC 2000. (Note: schwag isn't a big thing for me any more after going to so many of these conferences).




The decline of lavish spending can also been seen visually in the photos from E3 (including the ones I haven't posted yet). We're going to E3 this year and I'm really interested to see how it compares to past years, but I bet it'll be fairly low-key. More importantly, I want to find out who's taking over the Promised Lot -- arguably the best part of E3.

Friday, March 22, 2002

American McGee's GDC Talk

I went to hear American McGee talk on the whole production process of Alice at the GDC today.

I helped prep him for his talk. "The game is absolutely beautiful," I said, "but the gameplay wasn't so good." Almost apologizing, he agreed. American was just so chill, relaxed, friendly, and very approachable.

The first thing we saw was concept art and models from "American McGee's OZ"! It was incredibly cool and beautiful, however, what little we saw has the same dark twisted look as Alice (but that's a good thing, imo). These are just concepts, but the creatures and enemies might include wizards, witches, Quadlings (one leg, torso, and arm, I think), monkeys, the Tin Terror ("garbage can" with chainsaw & claw arms), plus locations such as the ice castle and the witch castle. After apologizing publicly about the lack of gameplay in Alice, he mentioned that gameplay was being worked on much earlier on for Oz. As for the status of the game, they're in the pre-production phase (which will hopefully be done around mid-May).

American's work is strongly influenced by music. After spending some time trying not to name the big-name musician for Oz, it was pointed out that the artist -- Peter Gabriel -- was mentioned in the credits for the demo reel! Slightly embarrassed, he said that the contracts hadn't been signed yet, but then confirmed the deal.

He stressed getting contracts written and signed with musicians (and of course everything else) before depending on it. Apparently Marilyn Manson wrote five tracks for Alice but then later on they weren't allowed to use it.

The contract between Id and Nine Inch Nails for the music for Quake wasn't signed until the day before the game appeared on store shelves. Had the contract not been signed, Quake would have had to be pulled from the shelves and all the already printed copies would have been destroyed. The story for Quake was written at the last minute (yeah, I know --Story? What story?!) just because they needed something to write on the box to describe what the heck Quake was.

Tuesday, March 19, 2002

GDC 2002

At orientation last night the idea of the CAs having a family environment was covered. Ian joked, "Some people may be uncomfortable, but we're a bunch of people who don't usually interact with others... Hey! We're geeks, right?!" [note: a lot of people are programmers]

As for myself, I didn't have to work today so I spent my time getting some much needed sleep. This helped make up for sleep I didn't get and now I've stored up for sleep that I won't get between now and the end of the GDC.

Tuesday, February 12, 2002


Today we celebrate Fusion Industries' 4th year! Go us!

Monday, January 28, 2002

New Weblog

I've started up my own weblog at so I can post things that I've been up to that aren't necessarily relevant to Fusion Industries itself. It will hopefully be updated more often than the main news page.

As for us at Fusion Industries, we're planning on going to the Game Developers Conference that's happening in March. We're looking forward to seeing old friends and making new ones, plus all the other good stuff that comes with the conference (lectures, witch hunt, parties, CA's, and t-shirts).

Wednesday, November 28, 2001

Another year gone by.

It was my birthday on the 5th of this month (Scorpio, biatch) so now I'm a year older, joy. I'm not going to say how old though, rawr.

Wednesday, October 17, 2001


So I'm sitting here writing my nice little COM objects for a project I'm working on and I thought I'd post something. Why? Because I rarely do and it's about time I cut that out, I mean I pay for half of this site I should put it to use for god sake (whatever that means); you hear what I'm saying to you? Yes, YOU, the person who's actually here, reading this. Wow, you must be bored. Go DO something with your life...

If you're still here these are two good reasons to go away (not that I don't like the fact that you popped by for a visit, but this is the mood that I'm in; deal):
1) Nobody gets out of this alive.
2) Your whole life leads up to death, so make the most of it (life that is).

bye, bye now...

Friday, October 12, 2001

Long time no post... for me.

I don't really have any news or anything as official as that to post. I just feel like writing something, not much of something (ok fine), but something.

I've sent out a bunch of resumes in the past couple of days... I as I'm sure you've guessed I am looking for a job. And, given the current hiring environment, his is proving to be not as easy as it sometimes has been; yeah, I can just hear the violins (BM!)... Anyway, so that's one thing.

I'm in also into cars now. Which is something that's been in the making for a long time but for some reason I never cared about them before.

It's like this: I tend to give people a bit of a hard time if they don't know anything about their computer and I think it's well deserved on their part. I'm nice about it but it's just a point I'm trying to make with them. The idea being if you use this thing every day (and most people do), you rely on it to some degree (probably a high degree), if it fails you find it more difficult to get work done. Yet, you know almost nothing more than the base skill set to operate it; that's a bad combination.

So then I turn it around on my self, something I do fairly often (keeps me honest... as corny as that sounds), and I'm doing the same damn thing; but with cars. So no I'm becoming more familiar with my car. Which, btw, is a new-to-me '94 BMW 3-series (it's a great car, bit slow... but I like it) because my Maxima was stolen (f*ing bastards); as much as a I like my new car I miss my old one... No matter though, on ward and up ward (next up a 330Ci or MKIV Supra TT). Of course I'm just content with being conscious about a subject, nope, I've gotta take it a step further... because that's always where you get to do the fun stuff :)

So, it's now all about bigger, better, faster, more (hence the two cars I mentioned; that I will have)... if for no other reason it helps to get my mind off of other things; which at times can be the most valuable "tool." Everyone should have something that just gets their mind off of everything else; even it's just for a short period.

hmmm... ok, that's it for now.

Thursday, October 11, 2001


It's been fairly quiet here at Fusion Industries. What's been going on? Well, I'm back at the university and I'm taking some very interesting classes -- Compiler Design, Analysis of Algorithms, Computational Models, and SCUBA diving. I've also been teaching myself how to play the guitar.

That's about it for now... Alex out

Saturday, September 8, 2001

Resfest (Quick Review)

I just got back from Resfest (the cutting-edge digital film festival) in San Francisco. The short films and electronica music videos were simply amazing!

In the past (as recently as last year) people were showing off computer graphics almost as if they were shouting, "Look at me! We're using triangles! They're shaded and have textures!". This year I've seen a definite trend of using NPR (non-photorealistic rendering). If these films were talking, they'd be saying "Yeah, we're CG, but shhh! Don't let that be the focus." Everything's so stylized, and in some cases look so realistic, that you really can't tell it was created on a computer, even though you know it was. That's not to say everything shown was CG, in fact, quite a bit was live action or a hybrid, but at some point each one was digitally processed.

Really, the story and how it's expressed is what's important, and the visuals are secondary. In fact, one of the best short "films" I saw was a series of phone calls a guy makes and receives after a party. All that's on the screen is the text of what he says, slightly altered to say what he's thinking instead of what he's speaking. It was so well written and so funny. Still, incredible how-did-they-do-that imagery has its place and will continue to amaze us as long as there are minds to push it further (or until we can render images that are indistinguishable from real life -- so that means around 2005/Star Wars 3 ;)

Thursday, August 2, 2001

Theory and Practice

So what's been going on? This past month has been very busy for me. I've written up a lot of notes and theory on code and programs I want to write but haven't had a chance to do that yet. I've mostly been traveling, seeing California (plus stops in Vegas and Tijuana), and putting around 3000 miles on my car. I also went to the 20th annual Large and Dangerous Rocket Ships launch event out at a dry lake bed to watch rockets (6 inches to 20 feet) fly into the sky. It's all about getting out and enjoying life.

Tuesday, June 26, 2001

TreeGen Released!

I've just released TreeGen, an interactive 3d tree creation program!

I've been working with drawing plants, in one form or another, for the last couple of years. The first method I tried (back in 1999!) was a true L-system, where a list of drawing commands is generated and used to draw the tree. I've also explored using fractals, drawing the classic fern, among other shapes. The method I'm using now is recursively adjusting and drawing the tree, which might be considered a hard-coded L-system. In any case, I had a lot of fun writing and playing with this program and I hope you do too!

TreeGen v1.0 src + exe (about 165k)

Friday, June 1, 2001

E3 2K1

Lavish. Larger-than-life. Lots of booth babes.
These are words that do not describe this year's E3. There were plenty of games on display, but the overall visual atmosphere just wasn't exciting, compared to past years. Having said that, we had a really good time. It only took us a day to see everything, with a day left to play the games that the rest of the world will have to wait to play for months.

And now for a few quick reviews:

Warcraft III
Two words: Jaw-dropping beautiful. The art is incredible and the gameplay seems awesome! Even the menus are not just nice, but really beautiful. This is my favorite game of the show and I can't wait for it to come out.

Blizzard's cinematic division constantly amazes us, and this year was no exception. Their cinematics for Warcraft II and Diablo II Expansion were incredibly gorgeous. We actually had chills watching them.

Return to Castle Wolfenstein
Like many of the gamers out there, I grew up playing Wolfenstein 3D (partially because it was visually astounding and fun, and partially because my computer wasn't fast enough to run DooM.) In the latest version, all I can say is WOW! The AI for this game is really great. For a simple example, if you shoot an enemy, his friend will either come to check on him, or run and hide, searching for the safest way to get out of danger. You really have to see it in action to realize how cool it is. The game itself looks great, which includes my favorite weapon, the flamethrower, which looks incredibly good.

Soldier of Fortune 2
This game looks great, with all sorts of nice enhancements, more realistic weapons and gameplay, and really detailed graphics. One quick test level they showed us involved a mission that took us through the grass, over trip wires, to our final goal. The grass was billboarded and I couldn't help but think of the vines in Wolf3D, because there was a strong resemblance between the two. I'm not knocking it though, because the test level was created in a couple of hours for the show, but still it's interesting to see works in progress.
We were talking to the SoF2 developers and they're in a friendly competition with the RtW team on who can have the best AI. In fact, the SoF2 guys actually hired one of the AI developers from the RtW team.

And now, completely because we have the bragging rights, here are some of the other games and systems we played with:
  • XBOX
  • GameCube
  • Luigi's Mansion (GameCube)
  • Sigma (pc)
  • Halo (xbox)
  • Super Mario Advance (Mario2) (gba)
  • F-Zero Advance (gba)
  • Amped (xbox)
  • Project: Gotham (xbox)
  • Oddworld: Munch's Oddysee (xbox)
  • and more!
Photos will be up as soon as I can get to them. Until then, check out our photos from past E3s in the gallery!

Thursday, May 17, 2001


This year's E3 is going to be HUGE! I'm looking forward to seeing Gamecube, Xbox, Duke Nukem Forever, and Commander Keen for GBA! Full report when we get back!

Thursday, April 5, 2001

GDC 2001 Pics!

Freshly scanned for your viewing pleasure, we present our GDC 2001 pics! Check them out over in the gallery! Greetz go to all the CAs -- you guys rock!

Tuesday, March 27, 2001

GDC: Fun and Games

We're back! GDC 2001 was awesome and we're already looking forward to GDC 2002!

Highlights include:
  • Playing Witch Hunt with 30 people late into the night.
    "Dana's the witch!!!"
    "Tim's the witch!!!"
    "Kill them both!!!"
  • Meeting lots of famous-in-the-industry people, including Will Wright (SimCity, The Sims), Warren Spector (Deus Ex), and Tim Sweeney (Epic Games)
  • Watching Second Reality on the big screen!!!
  • Snagging GDC signs
  • Sigma! "We think a gorilla is really cool. [showed a gorilla] We think an even bigger gorilla is even cooler. [showed a giant gorilla] And we think a gorilla with the head of a killer whale is the coolest [showed exactly that]" - Alex Garden, Relic Ent. [Update: Sigma became Impossible Creatures]
  • Facial animation session given by ILM with lots of SW:Ep1 animations, showing Jar Jar and Boss Nass from concept to 3d model to composite in the movie
  • Seeing friends becoming part of the industry
  • Playing with an XBox dev kit
  • Horse trading (trading work times with others): "If you're a programmer, think of a pointer chain. If you're an artist [pause] just remember the original person" - Ian MacKenzie

Party review
The parties and handouts weren't as lavish as they've been in the past. Suite Night used to actually be about going up and down to different floors and different suites in the Fairmont, now it's just about going from ballroom to ballroom on the second floor, with the same food and drinks in every room. Sadly, the Aquabats didn't play this year, however, there were a couple of bands playing, as well as karaoke. However, aside from the changes, Suite Night was still pretty cool, because it's all about schmoozing, and the food was tasty.

Now, I'm not sure why they keep throwing parties in clubs. You know it's a game developer party when there are basically only guys and they're playing hacky-sack on the dance floor instead of actually dancing. A lot of people just stayed back and played Witch Hunt instead, which was really a lot of fun.

We'll post the photos as soon as I get them developed and scanned (I really need a digital camera!). Until then, check out our past GDC and E3 pics in the gallery.

Monday, March 19, 2001


We're at the GDC! Full report and pics when we get back!

Thursday, March 15, 2001

Hornet's Offline

Andy Voss posted this on today:

"As of March 14, 2001, Digital River took most of the directories offline, including /pub/demos, aka The Hornet Archive. We're sad to see it go, but not all is lost. There is a fully operational mirror at Digital River now charges for use of its space, but that fee doesn't justify returning the demos directory. We may revive the archive someday, on our own hardware, but for now we will let Hornet pass."

It's sad to hear that, but then again, it's been closed since September, 1998, but this feels more like its final death. The Hornet Archive webpage is still up, but downloading from the address we all know and love,, just doesn't work anymore. Long live and its Hornet mirror!