Review Index:

Crytek's Cevat Yerli Speaks on Rasterization and Ray Tracing

Manufacturer: General

The ray tracing debate continues


In our continued quest to bring you all the answers (and questions) around ray tracing and gaming, we have published quite a few articles from our own editorial staff as well as interviews with key people in the gaming industry.  We have had Daniel Pohl, previously a college student doing research but subsequently hired by Intel for their own research, write a pair of articles that analyze how ray tracing might be the future for gaming on the PC and elsewhere.  I also interviewed Dr. David Kirk, Chief Scientist at NVIDIA on the topic of rasterization and ray tracing and most recently had a very in-depth conversation with id Software's John Carmack on the very same topic that you can also get in podcast form

Obviously this is still a hotly contested debate: Intel is pushing for a ray tracing model for the future of game rendering while NVIDIA, Carmack and most others see a mix of rasterization and ray tracing as the future.  Intel's push for ray tracing is more than likely a result of their upcoming Larrabee architecture and its inherent weakness with current GPU programming models; because it is essentially a many-core x86 compatible device it will be forced to emulate DirectX and OpenGL and probably won't have the power to compete with the dedicated GPU products from NVIDIA and AMD out of the gate.  Emulation always produces a performance overhead that will cut back on the utilization of the full power of Intel's Larrabee and obviously they'd rather that NOT be the case. 

What we have for you today is another in a series of interviews with key gaming minds that directly affect the world of gaming on your PC, and consoles, today and into the future.  Cevat Yerli, the CEO of Crytek and responsible for two of the most visually stunning games ever, Far Cry and Crysis, took some time to answer questions for us on a range of topics centered around the rasterization versus ray tracing debate.

An Interview with Crytek CEO, Cevat Yerli

PC Perspective: How much have you experimented with ray tracing in the past?  Any interesting background on it?

Cevat Yerli, Crytek: In our company, most of our developers do have experience with ray tracing, more as background knowledge though. We have not investigated enough or made a decision about ray tracing being an option, part or key to our strategy, so at this stage it's not a serious option.

PCPER: Current ray tracing theory seems to indicate that as geometry increases, ray tracing is a more and more attractive option for a rendering engine.  Do you see that as the case or has rasterization improved with development to subdue that advantage?

Yerli: So far I haven’t seen a compelling example for using pure classical ray tracing. Part of the problem is that the theoretical argument is derived from looking at the performance of static geometry under certain assumptions for what sort of lighting environment and material types you have in the scene. These examples often compare a ray tracer using a sophisticated acceleration structure for storing static polygon data against a trivial implementation of a rasterization engine which draws every polygon in the scene, which produces an unfair advantage to the ray tracer.

Far Cry, 2004; image courtesy

Reflections from arbitrarily shaped objects and point light source shadows are two situations which show off the capabilities of ray tracing well. I don’t see the development community switching to ray tracing just to get pixel perfect reflections from arbitrary surfaces, as most real world materials aren’t perfectly reflective and a distorted planar reflection often looks just as good. Using ray casting for shadows in a hybrid renderer might be a possible solution for the future, but I can see substantial possible gains from developments with current technologies for this.

PCPER: In general, do you think that the long development of rasterization engines has alleviated many of ray tracings advantages?

Yerli: Both methods have been in the race for some time, but rasterization is significantly ahead based on real world efficiencies. I think rasterization has a solid history of optimizations both in software and hardware that support its future viability.

PCPER: How well do you think current ray tracing methods address some of the technologies that rasterization engines use so frequently today like antialiasing?

Yerli: Anti aliasing is a real world solution to a real world problem – reducing the cost of shader calculations (including texture look ups) whilst gaining sub pixel geometric resolution. The obvious simple approach is to increase the number of pixels (or sub sample), but anti aliasing gives a better quality / performance benefit in most cases. If ray tracing becomes popular we’ll probably start to see similar clever algorithms which improve quality at a lower performance cost than using the simple approach.

Far Cry, 2004; image courtesy

PCPER: Do ray tracers fundamentally change the way pixel shaders or other effects technologies are coded?

PCPER: How does ray tracing affect the rendering pipeline, namely vertex shading -> geometry shading -> pixel shading?

PCPER: How might other aspects of games change if ray tracing is adopted?  Would texturing, data structure or other changes be required in a move away from rasterization?

Yerli: In general unless all surface detail is resolved at a polygon level some form of pixel shading including texturing will be required. Vertex and geometry shading would change. Some of the calculations made in the vertex shader would move to being calculated per ray intersection. Others, such as animation, would require something like a vertex shader, which would eliminate the per polygon performance benefits of the ray tracer for these objects. Modern games use extremely complex blends of physics, AI and logic to drive their animation systems so pre-baking the animations into per frame static geometry or using motion decomposition isn’t possible.

PCPER: In a perfect world, where you can start from scratch with theoretical "infinite speed" hardware, what rendering method do you think would be the most appropriate for games and other 3D graphics?  Rasterization, ray tracing or another option?

Far Cry, 2004; image courtesy

Yerli: Solving the Maxwell equations for electromagnetic radiation in the visible spectrum would be a start, though for some common game effects such as red hot exhausts, fire, and electric sparks we’d have to move to quantum field theory or the grand unified theory once someone works it out. Since we have trouble with solving the macroscopic Navier-Stokes equations for even relatively simple real world fluid problems I don’t think this gives any insight into how best to solve this problem.

PCPER: Back to reality, do you think that ray tracing will be a realizable technology in any kind of time frame?  1 year? 5? 10?

Yerli: I don’t see classical ray tracing in its current form becoming the dominant rasterization solution. In 1-3 years we will still see rasterization as clear way to go. We may find it being present in a more significant portion in overall real-time 3D graphics solutions though in 3-5 years from now.