A long time ago, I was a render junkie. I got better.
Like a lot of people, my real introduction to Raytracing as a concept came in the form of the Amiga Juggler, a had-to-be-impossible animation created by Eric Graham that was doing some sort of amazing trickery with graphics and reflections that were well beyond anything I’d seen before. Well, more accurately, I had seen stuff like this before, but it was off in the realm of however-they-do-movies, stuff like the Tron films and Juggler Adam Powers. This was stuff that people could be using most anything to accomplish, but the Juggler that I saw was being done on my Amiga, and I simply could not fathom that.
As an example of the disposability of graphics, you might look at this animation with a weary eye and conclude it is simplistic, easy-to-pull off and no great shakes. But at the time, I do assure you, it was a miracle. Specifically, the reflections of the glass balls are a miracle, while the rest of it is merely astounding beyond normal measure. Raytracing, you see, was one of those innovations that far outstripped my own abilities and understanding, yet its output was obvious and fascinating. You could tell me that you’d mathematically constructed a model for simulating rays of light as they would appear to bounce around a scene and therefore could create highly realistic and accurate images, but I wouldn’t really understand how you would do that. I suspect I still don’t. Others, naturally, have an innate ability to understand all this; one of my heroes Drew Olbrich not only wrote ray-tracers for fun and learning but even did one with a calculator and markers, which is up there with the kind of magic that sends you immediately to hell.
If my salad bar of superlatives seems over the top, this is really how raytracers and the concept of them excite me.
Somewhere after the explosion of the Amiga Juggler, came DKBtrace, a command-line raytracer for the Amiga written by David K. Buck and which dropped, into my waiting hands, the ability to actually do raytracing. Bear in mind, of course, that raytracing under these circumstances might seem a bit strange. Without a graphics interface, all scenes and lights and everything else were pure textfiles. Here’s how you’d make a red sphere:
OBJECT SPHERE <0 0 3> 1 END_SPHERE TEXTURE COLOUR Red END_TEXTURE END_OBJECT
I assure you, a person who is motivated enough can put up with and learn anything. Being given the tools with which to accomplish something wanted beyond all measure, no matter how strange the tools, is a minor hurdle. I learned the arcane DKBtrace language and how to do light sources (you created a sphere and colored it what was needed and then declared it a light source) and all the rest of it, and I could raytrace before I turned 20.
That said, bear in mind that rendering a 320×200 image on an Amiga 1000 was an overnight, 8 hours+ commitment. The system was doing a lot of calculation to generate these images, and it taxed the system completely. And sometimes it would crash. Still, of course, I immediately shot for the moon and wanted to do a movie on it.
My movie, which I haven’t given much thought to in the last 15 years, involved having shopping carts recreating a dance scene from West Side Story. I don’t even know how I expected to accomplish this, but I figured, probably reasonably so, that by the time I got one aspect of the approach down (making the shapes, doing the test renders), technology would slowly increase to the point that I would either be able to get what I wanted or know somebody who did.
I did some basic work with florescent lights (huge rectangles, add width, color white, add second rectangle, color gray) and with making shelves of products, and so on. Bear in mind, we’re talking weeks, with the computer left to “render” out my test models and other items while I walked around the streets of Boston in the 1990-1991 period. A very strange time.
However, more critically, as I got into the Internet (pre-web version) and was finding myself on UNIX boxes, I made the delightful discovery that DKBtrace had been ported to UNIX! Not only that, I loaded up some of my data files, and they worked, and not only did they work, but they worked fast. A UNIX box could render these images in less than an hour, and do it in the background (as this was my inspiration to learn about the “&” backgrounding command in UNIX), and have it waiting for me the next time I logged in.
So there is this period of time in my life, going from around 1990 to 1993, when I am a complete and utter rendering junkie. What I mean by that is that I would beg, borrow and steal my way onto any machine I could find, anything with a unix account and an ability to compile, and I would upload DKBtrace (and its later incarnation, POVray), compile it, and then start sucking up the CPU cycles. And again, this is not minor computation I was doing, especially as I jammed things up to 640×480 images. We’re talking one of the most active processes on a machine, easily noticeable, a hostage situation for the processor, making my images.
I’d start out rendering one of the default images, just to get a handle on how powerful the processor was. One of my favorites was this pac-man image done by Ville Saari, because you got this wonderful reflection-filled creation and based on how many minutes it took to render, you knew exactly how good a machine you’d snagged.
I have this great memory of visiting Clarkson University related to my online game for a party, and hanging with a guy, and then finding out he had access to a bunch of UNIX machines. “Oh, REALLY,” I said, like an drunk finding out your dad had a liquor cabinet downstairs. Next thing I knew, I was on a bunch of boxes, just rendering like a maniac, drinking in the fast CPUs, pulling in the reflections, making those machines my little slaves.
Like I said, I got better.
I’m not quite sure why I stopped, but I did. I still visit the POVray Hall of Fame, and love going to Pixar movies and still go out of my way to see the computer-generated films even if a lot of them suck. The love is there. But I guess it’s similar to why I don’t work on videogames anymore; too many people with too much more time than me doing way too much cooler stuff. “Core Competency”, that easily-thrown-out term by a million middle managers, applies here. It’s not where I’m really good at things and so many people are kicking ass. So I don’t.
In the middle of my work at Focus Studios, the game startup I spent my 26th year at, there was a need to create a mock-up computer animation of a game being worked on. Two months went into that, utilizing 3D Studio max and textures in Photoshop and so on. I thought it was very good, what came out the other end, but I don’t have much record of it. What I was struck by, at the time, was how much easier things were. Graphical Interface, render times, choice of textures, reflectivity… it was all slick and easy compared to my earlier days, strung out on CPU cycles and traced rays. I think that was the last time I really did much in the way of 3D graphics work that was anything like my misspent early 20s. I do miss that, the waiting for the picture to render, the anticipation that I got things right, and the dim glow of reflected metal in what I ultimately produced.
I miss it very much. Like any recovered junkie.
Categorised as: Uncategorized
Comments are disabled on this post