Carmack-"Raytracing not for gaming market"--Why?

jbond04

Senior member
Oct 18, 2000
505
0
71
Here is a question that was directed at Carmack recently at Quakecon 2002 (source: Tom's Hardware Guide):

Q - What about hardware based ray tracing?

A - Well, it might be right for some specific markets, but it isn't something for the gamer market.

I find it interesting that Carmack is so quick to deem raytracing a feature not right for the gamer market. I think the trend in gaming today is that features from professional graphics packages (such as 3ds Max and Maya) eventually trickle down to games, where they can be accelerated in real time. Examples include texture filtering, anti-aliasing, bones, keyframe animation, etc. Currently, raytracing is HUGE in the 3D animation/visualization field, enabling such effects as blurry reflections, realistic depth of field, caustics (light refractions--like underwater), and Global illumination (light reflection). Raytracing is the single largest leap in realism since the texture came along...and here Carmack dismisses as nothing. Through the power of graphics cards like the NV30, raytracing in real time will soon be close to reality.

For a link with examples of these effects, check here and here.

Does anyone else here have any ideas as to why Carmack said this? Do any 3D animation/graphics professionals find this strange? It just strikes me as odd. :confused:
 

FishTankX

Platinum Member
Oct 6, 2001
2,738
0
0
Uh, lemme just put it this way. Graphics cards are *just* getting to toy story levels. Soon, they might pack close to 150 million transistors, and they're still far far far far far far away from having enough processing power to do goo drealistic realtime raytracing effects. If raytracing does hit the market, it might be a while, since raytracing on 2.53GHZ CPU's can take 10 or 15 minutes for a single frame. Do you *really* think graphics cards will be *that* much faster? Maybe in a matter of *years*, but I think Nvidia and ATi would rather dedicate silicon to shading, more TMUs, solving the memory bandwidth, etc, and I think raytracing is farther off than you think....
 

vss1980

Platinum Member
Feb 29, 2000
2,944
0
76
Mainly because ray-tracing on the level that professionals use is hugely complex. Another reason is that the current consumer 3D API's such as OpenGL and D3D dont really cater at all for it.

At the moment, its easier to use the method of setting up the polygons and mapping textures to them (and any other effects such as Dot3, EMBM, etc.) and a few other shading effects because the amount of processing involved is far less. As an example, look how the current best cards at the moment struggle as soon as they have to process extra light sources in tests such as 3DMark. Each raytrace performed or more complex traces would effectively have that kinda effect on the frame-rate.

One day raytracing will be possible in real-time, but that is still way off.
 

DrVos

Golden Member
Jan 31, 2002
1,085
0
0
My point exactly. I dont think you realize the sheer processing power required to render raytraced scenes, esp. those of "toy story" quality. It may take render farms composed of hundreds of computers months to render a movie. Its not that Carmack doesnt care about the idea of raytracing, its just that hes being realistic.

We won't be seeing quality realtime raytracing in games for while... a long while
 

Rand

Lifer
Oct 11, 1999
11,071
1
81
I'm going to have to agree with all of the others said, real time ray-tracing in a gaming environment just inst anywhere near a viable option. Neither a 2.53GHz P4, or an NV30/R300 would stand up under that kind of load.
Ray-tracing is incredibly complex and harsh on the processor, and using current graphics cards to accelerate it isnt really viable as neither DirextX or OpenGL are well equipped to deal with the requirements of it.

Even lightly detailed games would be bogged down to a near stand still on modern consumer hardware were it implemented with ray-tracing.
It's nice in theory, but the capability to render games in such a maner is still a few years off at best.

Honestly, I'd sooner expect hardware voxel acceleration to be featured in games over ray-tracing.

 

LH

Golden Member
Feb 16, 2002
1,604
0
0
Uh considering it takes a year or two to render a full length animated feature, and thats using 800+ processors, its going to be a long while like others have said, before we see ray tracing in video games.
 

ed21x

Diamond Member
Oct 12, 2001
5,411
8
81
umm... this might seem like a dumb question, but is Ray-tracing similar to vector-based animation?
 

Adrian Tung

Golden Member
Oct 10, 1999
1,370
1
0
Originally posted by: ed21x
umm... this might seem like a dumb question, but is Ray-tracing similar to vector-based animation?
No, raytracing is basically tracing a single line (vector) into the scene to see if it intersects with any triangles. You use simple raytracing for determining if your mouse click hit something, or your hitscan weapon shot anybody. More complex applications include lighting, where you actually calculate the deflection angle of the ray off the triangle to see if how much light gets applied to it, as well as a whole bunch of other stuff like shadows, diffusion, realistic environment mapping, etc.


:)atwl
 

BuddyAtBzboyz

Senior member
Jul 19, 2002
286
0
0
If they came out with a video card today that could do real time raytracing at at least 800x600 and some good games that would benefit from the card I would gladly pay $2000 for it. However that won't be happening for a very long time. The first time I made a decent picture in pov ray I started drooling about the idea of such a card.
 

jbond04

Senior member
Oct 18, 2000
505
0
71
Originally posted by: DrVos
My point exactly. I dont think you realize the sheer processing power required to render raytraced scenes, esp. those of "toy story" quality.

Now wait a second...that's a little unfair to assume without knowing who I am or what I do, don't you think? :) To say that I "don't realize the sheer processing power required to render scenes" makes me sound like I'm a fanboy who was eagerly reading off a feature from a spec sheet that I know nothing about.
rolleye.gif
I use 3ds Max 4.26 extensively at school, work, and home. At school, we have finalRender Stage-0 (those renderings I linked earlier were from the technology page of the finalRender website), which is a full software raytracing package (Global Illumination, caustics, depth of field, motion blur, reflections, refractions...the works). I would say I have a fairly good knowledge of how hard it is to accelerate raytracing (I am intimately familiar with week-long render times for animations using finalRender), and also what it takes to make something "toy story quality" (although I think that benchmark for image quality is a little long in the tooth). I think that raytracing can be done by a graphics card using DX9, and I don't think that it would take more than a couple of years for it migrate down to real time applications (like games). Consider this: about a year ago, several Stanford students (with the help of a few people in the industry) used the multiple rendering passes on a GeForce3 to accelerate simple raytracing (shadows and lights). This was without the programmability or power of a modern graphics processor (like the R300 or NV30). This leads right up to this comment:

Originally posted by: FishTankX
...and they're still far far far far far far away from having enough processing power to do good realistic realtime raytracing effects. If raytracing does hit the market, it might be a while, since raytracing on 2.53GHZ CPU's can take 10 or 15 minutes for a single frame. Do you *really* think graphics cards will be *that* much faster?

Yes. Have you ever played Unreal Tournament using software acceleration? A CPU like the Pentium 4 or Athlon XP is not the optimal way to render a scene. Dedicated, specialized processors (such as graphics cards), which rely heavily on parallelism (which is abundant in 3D animation and games) are perfect for accelerating graphics. It's the same way with raytracing. The problem has always been that graphics cards are never programmable enough to simulate such effects. However, with the advent of DX9, this programmability problem is being lifted. ATi's "Rendermonkey" can take Renderman shader code (which could be anything from a fur shader to raytracing) and render it with the R300. Although it is most likely not real time, it is several orders of magnitude faster than a CPU!

I know the the R300 (and probably the NV30 as well) will not come close to rendering raytracing fast enough for the gaming market. However, I do not think that it will be more than several years before we see this technology be able to be accelerated in real time.

If you read the question carefully, it sounds like the interviewer is asking, "assuming that hardware raytracing is available, do you think the gaming market will use it?". It's not a question of whether current technology is ready for raytracing, it's a question of when it is ready. So it almost sounds like Carmack is dismissing raytracing altogether. I'm not saying that raytracing is ready for primetime right now, but I do think that it will eventually become something that cutting edge gamers will demand when it becomes possible.
 

RSMemphis

Golden Member
Oct 6, 2001
1,521
0
0
I can see a point to ray-tracing. The point is that since it is not a still image, one can cut a few corners, reduce accuracy, and still get beautiful images.

But hey, that's what they basically already do with vertex shaders and stuff.
 

jbond04

Senior member
Oct 18, 2000
505
0
71
Originally posted by: RSMemphis
I can see a point to ray-tracing. The point is that since it is not a still image, one can cut a few corners, reduce accuracy, and still get beautiful images.

But hey, that's what they basically already do with vertex shaders and stuff.

Exactly. You don't have to go overkill on the accuracy. It is possible to highly optimize something like a BSP tree for a specific game map, and to set the level of detail on a per-object basis. And you don't have to go all out with raytracing right away. Perhaps just the shadows are raytraced at first. Or maybe the reflections... I think raytracing is too big of a deal to brush off.