Last month, I covered the launch of real-time ray tracing startup Caustic Graphics, and I noted the skeptical chatter that I'd heard about the company's prospects in the graphics community. In brief, anyone who's pitching a custom coprocessor on an add-in board has a difficult road ahead of them in the current, price-sensitive market. When you factor in the challenges of doing real-time ray tracing, plus the fact that most of the visuals produced by the technique can be serviceably approximated in games by traditional rasterization, it was tough to see where Caustic could have a chance at success.

But after a visit to Caustic's San Francisco headquarters this past Friday, I came away with a much better understanding of what the startup is trying to achieve.

In a nutshell, Caustic is attacking the ray tracing problem not on the compute side but on the data side, as a database problem that's constrained by bandwidth and memory locality issues.

"Ray tracing is a database problem," Caustic cofounder James A. McCombe told me. "The issue is how do you get data to those processors fast enough. We set out to solve that fundamental database problem."

Caustic attacks the problem with a combination of custom OpenGL extensions, which it hopes to see become an open standard. Custom hardware for accelerating these database lookups is designed to work alongside the CPU and GPU, with the latter two components handling the math-intensive side of rendering (e.g., shaders). The custom hardware component is a relatively small block of logic that does ray traversal and essentially accelerates a set of proprietary algorithms that Caustic cooked up.

"The hardware bears no resemblance to a stream processor," McCombe told me. "It's a database and memory bandwidth accelerator of sorts."

I'm still very skeptical of Caustic's prospects in the current market, when even high-end video cards have all but stopped selling, but these issues are out of Caustic's control and are faced by pretty much anyone selling any kind of premium product right now, from handbags to servers.

The company isn't giving out many more details about its tech, especially the hardware's architecture, at this time.

Speaking of the hardware, the first Caustic RT board is essentially an Altera 100MHz FPGA chip with a single lane of DDR2 memory. This board, which costs $4,000, is targeted at developers and at the content generation industry. Games, movies, and automotive design are all target markets for the part, which at launch will greatly speed up the ray tracing capabilities of the rendering package Brazil.

Caustic is backed by $11 million in angel funding, and it used some of that to buy Splutterfish, which makes Brazil. So by offering its card as a way to get near-realtime (depending on resolution), interactive previews of ray-traced scenes with Brazil, Caustic hopes to tap a built-in audience.

If enough game developers see the benefits of doing RTRT with the Caustic hardware and OpenGL extensions, then the startup's second-generation part, CausticTwo, will have a much better shot at reaching its target audience of gamers. CausticTwo will be a 350MHz ASIC fabbed on TSMC's 90nm process, and it should give up to a 14X speed boost over the first Caustic part. This should make it fast enough to support games at 30FPS, a framerate that is well out of reach of the first-generation part.

Caustic's game plan

In my previous article, my two main criticisms of Caustic's technology and apparent business model are reproduced below:

To do something truly interesting with ray tracing (i.e., something superior to what you can do with rasterization) is very hard, and most of the bottlenecks are on the bandwidth, not the compute, side of the hardware problem. And furthermore, the visual results often aren't better than what rasterization plus a collection of hacks can get you... Then there's the economic challenge associated with any type of application-specific coprocessor. I described these challenges in detail in this article on Ageia, another company that tried (and failed) to produce a custom, many-core coprocessor on an add-in board, and it's mainly an issue of volume... The game and movie studio market that Caustic appears to be courting with this is way too small to support a custom coprocessor, especially one that's likely to be a chip multiprocessor with substantial high-level similarities to Intel's mass-market Larrabee GPU.

The criticisms above are still valid, but here's how Caustic plans to get around these issues.

To start with the second issue (volume and the size of the target market), it's now clear that the part is not a parallel math coprocessor in the Ageia mold. Instead, the ASIC's architecture is relatively small and simple, and when implemented on TSMC's very cheap, legacy 90nm process node it's likely to remain fairly cheap at even at lower volumes. So while Caustic couldn't hope to survive by pitching a many-core math coprocessor on a leading-edge process at a market as small as the one they're initially targeting, it's possible that its target market can support a much less ambitious piece of hardware on a legacy process.

As far as the debatable visual merits of ray tracing versus rasterization-plus-hacks, that criticism still stands. But Caustic's true value proposition isn't so much in ray tracing's alleged visual superiority to rasterization (I'll let the Caustic guys debate this with rasterization's proponents) as it is in ray tracing's potential to cut down on game development costs.

For a rasterization-based game engine, artists have to generate shadow maps, reflections, and other lighting-related elements for a scene by hand. So instead of just creating textures and models for a scene, the artists also have to compose the entire scene by putting all of the elements together and then manually filling in many of the lighting effects. This sort of thing takes a lot of time, and it drives up the cost of game development by making it much more labor-intensive process.

Real-time ray tracing essentially shifts this lighting work from artists to the game engine, so that regardless of what you do with a scene, the lighting, shadows, and reflections are visually correct without any labor-intensive artistic sleight-of-hand. So even if initial ray-traced games don't quite live up to the visual standards of the current generation of rasterized games, they would be easier and cheaper to make because artists can spend more time on textures and models and less time fussing over how those assets interact with the lighting in a scene.

In this respect, Caustic's value proposition isn't so much that the real-time ray tracing that its technology enables provides a vastly superior gaming experience, but rather that RTRT makes for cheaper game development.

I'm still very skeptical of Caustic's prospects in the current market, when even high-end video cards have all but stopped selling, but these issues are out of Caustic's control and are faced by pretty much anyone selling any kind of premium product right now, from handbags to servers. Once the larger economic situation takes a turn for the better and consumers start spending again, Caustic will still have to solve the same chicken-and-egg problem that bedeviled Ageia, because for a developer to get the full cost savings of RTRT it will have to ditch rasterization entirely, but before that can happen there must be a large enough installed base of Caustic cards.

(Note that CausticGL, Caustic's ray tracing extensions to OpenGL, work without the Caustic RT add-in board. But performance would be so slow that it's not super clear why anyone would use the extensions without the hardware.)