Interview with Alex Kelley, VP of Worldwide Sales & Marketing at Caustic Graphics By Jeff Mottle
I had a chance to speak with Alex Kelley, the VP of Worldwide Sales & Marketing at Caustic Graphics a few weeks ago about the recent launch of their CausticRT raytracing acceleration card. While the current version of their card is only being delivered to qualified developers, in early 2010, we should see the introduction of their end-user product as well as a host of supported applications. The remainder of this article is a transcription of the telephone interview that CGarchitect held with Alex.
Hi Alex, could you tell us a little bit about yourself and the new CausticRT card?
Alex: My background is technical. I went to grad school and have a degree in computer science with a focus on computer graphics. In fact my first project was working at Bell labs in raytracing, so I certainly know pretty much what these guys [Caustic Graphics] have done.
I joined Caustic in January and they had been in stealth mode for about two years. Caustic has three co-founders who all come from Apple. In particular, James McCombe, who has been the primary spokesperson and really leading the founders, had a background in rasterization. He worked at Firepad originally where he developed algorithms for apps they supplied to Palm, and then moved over to Apple where he worked on OS X in the OpenGL team. He was responsible for porting the rasterization pipeline (used on the iPod) to the first iPhone prototype. That is going at 60fps if you can believe it or not! He’s a real smart kid; he’s 27 years old and from Ireland and just brilliant. I’m really having fun working with Caustic.
Thinking about rasterization and raytracing, they really felt of course that raytracing gives you much more photorealism than rasterization. The only problem of course is that is just takes forever computationally, and that’s why today you still see raytracing applications being used primarily for offline use – for film and video for example. Rarely would you see it in a game or an interactive game or any interactive application for that matter. The vision is basically to democratize 3d. When I started out in 3d we were using Silicon Graphics workstations, which at a minimum cost around $100,000. When I joined Alias we were in the days of power animator and we were selling that package for I think minimum of around $25,000-$30,000. So the entry for 3D CG in the early 90’s was at a minimum well over $100,000. What you saw back then was not a lot of artistry in 3D, you saw more operators, people who could afford to do 3d computer graphics. At the next juncture you saw Microsoft acquiring a company called Softimage and immediately that package was ported over to the windows platform. Now Windows platforms are certainly much cheaper than Silicon Graphics workstations and naturally as a result of that we saw the 3d applications like Maya and Softimage all drop dramatically in price. All of a sudden we were seeing real artists, Architects and designers, beginning to use 3d in very creative ways and that was very exciting to me.
There is one thing that has been left over from the old days, and that is when you want to render to film and video for example, if you are rendering 24 fps to film resolution, you need a large render farm.
At ILM they called it the Death Star. I tell you that render farm had to be the size of a football field from what I had seen and Pixar has one too. The render farms are restricted to the very few who can afford to have them. What we are doing here is trying to democratize that, we’re trying to do what Windows did for computer graphics applications, by allowing you to very quickly raytrace high quality photorealistic imagery at your desktop. We are certainly on that path and it’s certainly a very exciting one.
Raytracing has pretty much until this point been restricted to offline rendering only just because it takes too long. Pixar was quoted one time about the film Ratatouille, where each frame on average, using their render farm, was taking over 6 hours. So you can see that it is impossible for the average person to use raytracing in any effective way.
What we have solved is to create a PCI card that breaks the raytracing problem into two. About five years ago Moore’s law solved the computational problem of raytracing, but there is another problem that has not been solved by GPUs or CPUs. That is when you start to trace the scattered rays. They are accessing the database in random locations, and unfortunately GPUs and CPUs are not architected for that purpose. What we have done is rather than focusing on the computational end of raytracing, we’ve focused more on the database management aspect. We have some very sophisticated algorithms that can very quickly access the scene, and schedule it such that the GPU and the CPU thinks it’s rasterizing, and efficiently rasterizing as well!
We’re not using expensive hardware here at all. The memory on the card is just DDR2 laptop memory. The first implementation, which we are calling CausticOne, is using FPGA processors, but that of course is because we have developed these algorithms so that we can update the card as we get more feedback from developers. But when we release our ASIC version early next year, we will be able to learn from the developers and implement that feedback.
The other thing to note is that today there is no standard in raytracing, and as a result if you built a raytracer, you have to get pretty low level in trying to optimize the CPU or GPU. We have a whole new layer which is based on OpenGL, we call that CausticGL. It utilizes the OpenGL standard, which has been around for a long time, and we simply extended it and added extensions for raytracing. So now in an OpenGL shader you can actually shoot a ray. The other advantage of course is that OpenGL is very familiar to developers. It is the standard, with exception to DirectX for gaming, for most 3d computer graphics packages. As a result the developers don’t have to learn a new language.
We have the ability to do transformations, you can move anything in the scene, you can scale it, rotate it, and you can deform it. There is no limitation there. There is no penalty, which is another big aspect of our solution. Typically what you see in an offline raytracer is that every frame requires a set up time. In the movie [below] you will see that you are not penalized for incoherent rays (scattered rays), and as a result we are able to do interactive raytracing, which is really a first for anyone. In the demos you’ll see a very complex 5 million triangle scene that we are able to interact with at 3-5 fps at VGA resolution.
What we are shipping is the CausticGL SDK and we’re also shipping the CausticOne raytrace accelerator card. Right now, we are only shipping that card to qualified developers, and the reason for that is that this is not the end user product. What we want the developers to do, is to take their existing applications, or create new ones on top of the CausticRT platform, so that by the time we ship the end user product, Caustic 2, we’ll have applications available for the end users to take advantage of.
Within the architectural visualization industry, most companies don’t have the staff or expertise to develop applications at this level, how will our industry be able to eventually benefit?
Alex: You’re right, I used to work Autodesk and before that Alias, so over my last 20 years in computer graphics, I’ve talked and worked with many architects and designers, so you are right. Its Caustic Graphics talking to large ISVs like Autodesk or Dassault Systems and working with them to get their products to support CausticRT and then at that point Architects can take advantage of the product.