Friday, March 20, 2009

Softball

It looks like I won't be leaving my job just yet 8)
I made my case and, after some consideration, I got an offer that I thought was a good compromise.
In any case, I most likely would have waited for the project to end..

Now I'm getting ready to depart for San Francisco in a couple of days, where I'll be attending to yet another GDC 8)
This time around I got a somewhat decent company laptop (a small Vaio) with proper VPN connection that allows me to access the company's email, servers and Perforce depot (where all code and data is stored).
So, I can access all the code I may need for some meetings and I even have Visual Studio installed.. only the computer couldn't possibly even run the current run-time which won't even start without Direct3D 10. And that to run (somewhat) smoothly requires 64 bit Vista, 4 cores CPU, a powerful GPU and 8 GB of RAM 8)
That's my development machine at work, but more recently I've been moving to Core i7, 12 GB of RAM and even SSD disk.. 2 in a RAID0 !

..it's just that the crazy amount of data, textures and animation goes beyond the normal concept of real-time.
I remember when we reached the 32 bit limit.. it's really easy because in Vista 32, 32 bit memory addressing really means just ~2 GB per-application (the OS itself can only see around 3 GB anyway).

The problem with real-time is that one needs to keep enough data around to render a whole sequence. Streaming and compressing helps a lot, but one still needs some beefy hardware specs.
An off-line renderer may take 1 or 2 days just for one frame of animation.. and a frame of animation may require several gigabytes worth of uncompressed data.
In most cases, most of the textures and geometries will persist for a few frames, so one in theory could keep them around in RAM for the next frame.. however one does indeed need lots of RAM in that case.

ummmumm

Speaking of off-line rendering.. RibRender is now somewhat able to run very basic shaders.. though much is still missing.
Lighting parameters are not there yet, but the shading "virtual machine"  runs. I've improvised some sort of assembly.. it's a good feeling. I've always been too busy with graphics, but at the end of the day, virtual machines, self-modifying code, etc, are important for graphics too 8)