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.