Crytek Bashes Intel's Ray Tracing Plans
Vigile writes "Despite all good intentions, Intel continues to see a lot of its work on ray tracing countered not only by their competition, as you'd expect, but also by the very developers that Intel is going to depend on for success in the gaming market. The first major developer to speak on the Intel Larrabee and ray tracing debate was id Software's John Carmack, who basically said that Intel's current plans weren't likely to be implemented soon or ever. This time Cevat Yerli, one of the Crytek developers responsible for the graphically impressive titles Far Cry and Crysis, sees at least 3-5 more years of pure rasterization technology before moving to a hybrid rendering compromise. Intel has previously eschewed the idea of mixed rendering, but with more and more developers chiming in for it, it's likely where gaming will move."
It's no surprise that Intel is being bashed over their idea of real-time CPU ray-tracing. As anyone who has ever ray-traced will realize it's extremely slow. At times you're talking about HOURS PER FRAME while realistically you want at least 30 frames per second and even that isn't considered great by many gamers. It's going to take a HUGE and I mean HUGE increase in computation power before that happens. Rasterization techniques are tremendously faster and they look nearly as good as Ray-tracing for the most part. Considering that we're yet to reach a point in Rasterization where we don't need more processing power (Crysis in high resolution.) I don't see us moving away from it yet. The day when we declare that we have graphics cards more powerful than we need for Rasterization is when we start moving towards ray-tracing. That day isn't anytime soon unfortunately.
For years some claymation movies were set up by hand and shot frame by frame in a process called stop motion. While adequate, the resulting film was typically unnatural and the movements very stiff compared to live actors.
Enter ILM and go motion. Instead of filming static scenes, the clay was moved slightly during the shot to create a blurry frame. This blurry frame made the scene seem more realistic. The blur is what the eye picks up in the movie frame, so an actor walking in a scene is not a set of pinpoint focus shots but a series of blurs as the man moves.
Ray tracing is great for static scenes. But movement is the key to games that require this much detail, and so each frame should not be beautifully rendered framebuffers, but a mix of several framebuffers over the span of one frame. Star Wars did it great. Most computer games, not so much.
it's customers that drive the market, not developers. christ these guys sound like a bunch of OSS developers.
If you mod me down, I will become more powerful than you can imagine....
If this were really happening, what would you think?
I ignored this story first time around because I assumed it must be an April fool's joke which I think is not unreasonable: Intel leading innovation in the GPU sector ....
I know that CPU Ray-Tracing is thrown around a lot here on slashdot, and yes, it's slow (for current processors) BUT, lets look at the company doing the mudslinging at Intel. Crytek. Their latest release, Crysis, has abismally poor performance. All of their press releases for the last few years say "oh sure, we support multithreading" / "Get a Quad Core for our game" and I Know quite a few people who's main reason FOR getting a Quad core was Crysis. Then Launch day came, and we realized that the game is single threaded, and that our rather expensive processors had been just that, an expensive waste of money. It just seems to me that Crytek should impliment advances in technology, rather then just complain about Intel's latest idea.
Yeah, so it's going to take 3-5 years before anything real comes out of it. Do you think that process of using high-k hafnium in the 45 nm microprocessors was developed overnight? I'm sure intel is used to the R&D cycle, and 3-5 years is not unheard of. Besides, how much longer can you use rasterization "band aids" to address rending issues (reflections, shadows, light sources)? Rasterization is just a hack to try to implement features that simply "fall out" of ray tracing. Sure it's going to take computational power, but we're not going to be using pentium 75's.
We can't afford to render every pixel to infinite depth, so we must be smart. I predict that over the next five years or so, the techniques around ray tracing will develop. That's subtly different from saying, "We'll be using chips powerful enough to ray-trace." Video encoding took the same path, but now the stream contains enough information to make us believe that the information is there. While I don't believe that games will have every pixel in every frame rendered by ray tracing in the immediate future, I believe there will be a transition, where the likes of Intel and AMD (etc) are able to do more, but before this happens, we can be smart.
As much as I'm open to the whole criticisms that developers make against such ideas like raytracing in realtime, the use of realtime raytracing isn't in the gaming market, rather it's focused on the markets that don't use GPUs or atleast don't use them for what Crytek uses them. So, their criticisms are valid, but not too relevant to Intel's target market (as they're more interested in the fidelity that raytracing can offer versus the raw frame rates). And in reality, only a handful of successful realtime raytracing projects exist, which is why I think Crytek is jumping the gun here with its criticisms, because if it isn't a big company like Intel that will waste the R&D funds on this then who will? God? The Easter Bunny? Who? Someone, logically and empirically so, must waste their money on the wrong answers to realtime raytracing (and realtime raytracing itself), otherwise no one can ever say they really know the potential of such technology (considering it effectively DOES NOT EXIST). Ultimately, Crytek's devs are trying to play armchair electrical engineer here, and being a fellow code monkey as they are I'll say this: STFU until you get a degree in electrical engineering otherwise you're wasting our RSS feeder's time with your banter. Sorry, but that's how I feel about it, mod this comment as you wish. :)
Cevat Yerli is an INKER!
Carmack didn't really bashed it, neither did Crytek. They just make it clear that you can't have rasterization on day N and have raytracing on day N+1. A 3-5 years transition period is very reasonable. Using raytracing optimally requires to change the whole data structure of the virtual world. It would require making new modeling tools, new rendering engines, integrating new possibilities into the game design.
Keep also in mind that Intel proposes this as a future way of doing rendering. Their hardware is not even here yet. Given this, any prediction below 3 years would be quite surprising.
The Wise adapts himself to the world. The Fool adapts the world to himself. Therefore, all progress depends on the Fool.
The current CPU technology is moving toward multi-core and it is just what ray-tracing needs. What you need to accelerate RT is to have 1 or 2 cores handle the k-D tree space parsing, and then reverse ray trace from the display with each ray utilizing a hardware thread. GPU technology has long been utilizing the multi-core method, but currently, they don't have the optimized k-D tree space parsing component. Even so, utilizing the nVidia CUDA package, you can squeeze 40+ FPS out of RT at 1280x1024. RT hardware just need some time to mature. It is an inevitable trend due to the hardware vendors keep on fitting more cores into a single chip and abandoned their efforts in improving on single core chips now.
Let's surmise for a minute:
The problem with ray tracing, as Carmack said, is that it will always be much slower than raster-based graphics with a given amount of computing power. He pointed out that there's nothing impressive about Intel's demo of a game from two generations ago running sort of acceptably at moderate resolution on an overpowered Intel demo system. He said that they'll never be able to produce a ray traced engine competitive with the state of the art raster-based games, so the ray tracing, while technically satisfying, will in every case offer poor performance for inferior graphics.
All of this boils down to a time lag. If raster graphics can do something in 2008, ray tracing can do it in 2012, etc. What if raster graphics stopped progressing for four years? Then ray tracing would have a chance to catch up, perhaps leading to new engines and APIs based on ray tracing, which would ensure long term use.
But wait...raster graphics have already been at a standstill for two years, for the first time since their inception. When the 360 came out and then the 8800 line showed up to put it firmly in its technical place, gaming graphics capabilities suddenly stopped. Not only did nVidia have its first unassailable lead over ATI in a long time, but suddenly the PC gaming market finally showed very strong signs of finally dying. Most of the remaining PC game developers shifted development to consoles, leading to (again as Carmack pointed out) a stationary graphical hardware target for new games. The overall number of PC gamers managed to stay high, but literally almost all of them were playing World of Warcraft, which has very low graphics card requirements.
Now two years have gone by, and WoW still dominates PC gaming, while only a few games have shown up that really push current hardware, with few people buying them. It's a pity that the most graphically impressive game is also quite mediocre when it comes to gameplay. There's very little market pressure on nVidia outside of the small enthusiast community, and they've managed to milk a 4x hardware lead over consoles for an unprecedented length of time. The graphics card industry used to beat the living crap out of Moore's Law, but now they've managed to eek out a 10% improvement in over two years, which is just sad. The next generation parts may or may not be coming soon, may or may not bring a large performance boost, and may or may not have any software at all to really justify their purchase.
Going waaaaay back to the beginning, CPU speeds over this same time period have been keeping up with their normal exponential increase in power. At this rate, it would only take two more generations of PC gaming failure for ray tracing on the CPU to catch up with rastering on the GPU, and if that happens, it could end up going to consoles. Hell, it might even be good for PC gaming's health. Currently most console players have a PC, but with its Intel integrated graphics it's only suited to playing games from 6-8 years ago. Already those same PCs can probably match that with ray tracing. If games were only dependent on CPU speed, they'd be a lot more accessible and easily played by a much larger part of the population.
"I zero-index my hamsters" - Willtor (147206)
By the new group 'NDivia': http://pouet.net/prod.php?which=50006 Note that the reflection on the chrome sphere rolling over the checkerboard during the 'Raytracing sux lol' scene is actually being raytraced in shader code.
promoting a new car engine that everyone wants b/c it is so "good" ( lots of horsepower, torque, etc ) ... but the desirable "good" traits come at the price of a tradeoff of more "good" vs less miles-per-gallon.
... b/c by using it everyone will need faster computers... the need for faster computers means everyone needs to buy more Intel products.
-----
Aside from the horrible metaphor to explain my point. I am basically saying that it sounds very much like ray tracing is something Intel wants everyone to use
I guess my question is, wouldn't it be better to invest 5 years in current "rasterization" rather than 5 years in "ray tracing" ?
It seems like rasterization will get the similar quality but for require less processing!?
So why would you use a technology that requires more expensive hardware to do the same thing but with less expensive hardware?
Comment removed based on user account deletion
Like all technology races, simplicity wins. If Intel provides tools that make it easier to develop ray tracing games, the GPU will be displaced.
Having to work for a living is the root of all evil.
When you can have graphics like this?
Keep in mind that companies selling graphics engines (such as Crytec) have a vested interest in maintaining the complexity that is associated with raster graphics. A move toward ray-traced games would help level the playing field with regard to visual quality and render (no pun intened) the R&D companies such as Crytec and Epic have put into their massively expesive engines somewhat null and void.
If I was Epic and I could sell an engine for 750k a pop, I certainly would have a vested interest in maintaining the status quo.
Wait, so developers who have decades of experience in rasterized graphics are speaking out against a technology that would render said experience obsolete? How can this be?!
--
Was MySpace the first social networking site?
Was World of Warcraft the first MMORPG?
Consider Ford versus Toyota/Honda/etc.
And countless other examples, pretty much anything outside of patent stuff.
But how much better do game graphics need to be?
I played the Crysis demo on a recent graphics card, and was suitably impressed for ten minutes. After that, it was the same old boring FPS that I stopped playing five years ago. Graphics seem stuck in the exponential curve of the uncanny valley, where incremental improvements in rendering add nothing to the image except to heighten that sense of 'almost there' that signals to the brain that it's *not* photorealism.
This isn't meant to be the same old "it's the gameplay, stupid" rant that we get here. It's simply to question why any real work is being done on rendering engines when we seem to long have passed the point of diminishing returns.
Anyone who loves or hates any language, platform, or manufacturer, doesn't know what they're talking about.
Personally, I'd love to see realtime raytracing see the light of day because I recognize the math behind it as more "pure" than rasterization. Of course there are several algorithmic hurdles preventing pure realtime raytracing from seeing the light of day, unless you start to hyperparallelize the operations in a dedicated GPU, and even then there are obstacles; in the worst cases, a ray can bounce along an infinite path, dividing into multiple segments as it goes, leading to infinitely branched recursion until some heuristic or another cuts it short. And as we all know, "heuristic" is a fancy word for "cheat".
Further, raytracing cannot handle advanced refraction and reflection effects, like the surface of water causing uneven illumination at the bottom of a pool, or a bright red ball casting a red spot on a white piece of paper, without preemptive "photon mapping", which is another cheat.
In short, we have not been able improve upon the original raytracing algorithms without "cheating reality". Modern raytracing that includes photon mapping is a hybrid anyway. So the raytracing purists really have nothing to stand on until there's enough hardware to accurately calculate the paths of quadrillions of photons at high resolution sixty times a second. I'm not saying we won't get there, I'm saying probably not within this decade.
The reality is, the only advantage raytracing has over rasterization is its ability to compute reflection, refraction, and some atmospheric effects (e.g. a spotlight or a laser causing a visible halo in its path) with "physical" accuracy. The capabilities of rasterization have grown leaps and bounds since the 1960s, roughly linearly in proportion to available hardware.
Purists be damned. A hybrid of each technique utilizing what it's good at (raytracing for reflection, refraction, and atmospheric halos, rasterization for drawing the physical objects, "photon mapping" for advanced reflection and refraction effects) is likely the best approach here.
Life would be easier if I had the source code.
If a modern ray tracer spents hours on a frame, it would be so realistic that there is no current GPU that could even match the quality. You, sir, have surely exaggerated. Only thing ray-tracers have advantage over GPU is fast dynamic scenes. The GPU has been a remains a major memory bottleneck. A quadcore does very nicely to render fast frames rates with a ray tracer.
If one wants to argue that people won't spend any extra money for it, go look at the tons of people that multi-box on WoW and how much money they spend for 6 or more computers!
All these rants against one or the other (raytracing/rasterization) are such a total waste of time that many people just ought to get a life. Oh wait.. this is Slashdot.
I wonder when people will start seeing the forest for the trees in this issue. First of all, it's an apples and oranges comparison. Second, most of the articles on game development sites pitting the two against each other don't pass the laugh test. Total garbage. I mean, you really need to fix the application domain and the relevant constraints to be able to make any kind of a reasonably objective judgment. Furthermore, you just need to your homework on both and at least try to pretend that you're being objective. Even at that point, if you're not careful, you're still probably making an apples and oranges comparison.
Let us unite in the name of rendering. Let us bring together these gems of human intellect:
Rasterization and ray tracing!
Ray tracing meet rasterization. Rasterization meet ray tracing.
Raytracer: Nice to meet you, Mr. Rasterizer.
Rasterizer: Hello, Mr. Raytracer. Pleased to meet you.
Raytracer: Hey, you know what, I've been thinking that it would be a blast if you could trace my primary rays, Mr. Rasterizer? Oh sorry, forgive me.. Rasterize my primary rays.. Umm. Anyway, there's a lot of coherence between those rays there that I think you could really take advantage of. How does that sound?
Rasterizer: Yeah, sure, why not! I'd like to ask you a favor.. Would you be so kind as to tracing some secondary rays for me.. You know.. they're really incoherent and I totally suck at that.. Like sampling the lighting integral.. I've heard stories about Final Gathering or some such. Anyway, there are all kinds of nice things that you and I can achieve together.
Raytracer: It's a deal, Mr. Raytracer. Let us join forces and bring about a new era in uber-cool computer graphics!
-- Jani
Larrabee won't be ready for primetime till 2010-2012.
I don't see how a particular technology can be criticized based on today's limitations. It would be like someone in 1985 completely discrediting 3D because computers back then couldn't handle it. Why bother with 3D when 2D games provided a suitably entertaining experience.
While some of today's games certainly look impressive they've still got a long way to go because they can be deemed realistic. Actually, I find photo-realism to be bland. It's kind of like photo-realistic paintings. Certainly, the technique is extremely impressive, but ultimately, what's the point if the end result looks no different than a photograph?
I'll concede, however, that realism in gaming is a bit different. There is a big place for it in the future of gaming if for no other reason than to provide a holodeck-like experience.
That said, I don't think console and PC gaming is even on Pixar's level in terms of sophistication of graphics. They're very good, but they don't yet come close in terms of animation, detail, textures or lighting.
I don't know all the technical details of ray tracing, but to me I'd say the big advantage would be how it affects production. Current games require a considerable amount of work in order to reproduce all kinds of visual effects. With ray tracing a developer merely has to designate a surface as reflective or drop a light somewhere in the scene; the hardware handles all the math and everything comes out automatically looking right.
This sounds familiar... Oh yeah, it's the Cell. Of course, it won't be the Cell, but I think it competes with that more than traditional GPUs.
8 cores kind of sucks. Traditional GPUs already have >128 cores. By the time Intels stuff comes out GPUs will have probably >256 cores.
So you're saying there is no market pressure on nvidia because everyone keeps playing WoW and are happy with their current gfx card?
How exactly is the lack of need for better gfx going to create a market for raytracing? In this situation the only reason to switch to raytracing is when your gfx card brakes down and you already own a cpu with 128 cores.
Also, the cpu is not idle in games, there are other things to do besides rendering, like collision detection and AI.
Raytracing could be a step in the right direction for photorealism, but personally I don't really care that the water is not reflecting exactly as it should in real-life. As long as it reflect in a realistic manner without being 100% accurate, I don't really care about raytracing.
Intel is pushing raytracing, not because it's the right thing to do, but rather because it directly benefits Intel by increasing demand for fast multi-core processors.
Bankers push investments, not because it benefits you, but because it benefits them! Intel, as a corporation, is interested in your money, not your best interests.
-Billco, Fnarg.com
I'll take ray tracing, TYVM. I think if ray tracing had near the amount of resources invested in specialized hardware, I think we'd see things like this, and this in our games.
Yes, I am a smart ass; it's better than the alternative.
A lot of people here are saying that performance is a killer for raytracing in games, and that you need specialized hardware like we have for rasterization now. I would suggest taking a look at the demo set up by the fellow below - he made a raytracer that runs on the GPU. Windows only, sadly, and you'll need an 8800 or better. But - still worth looking at. http://sio2.g0dsoft.com/modules/wmpdownloads/singlefile.php?cid=3&lid=23
Never underestimate the stupidity inherent in all human beings.
Well, there are some that are worth buying- the game that got me to upgrade my video card is "Bioshock". Best game in years. You can download the demo free from Steam (also free) and play a level. Very impressive.
How exactly is the lack of need for better gfx going to create a market for raytracing? In this situation the only reason to switch to raytracing is when your gfx card brakes down and you already own a cpu with 128 cores.
Also, the cpu is not idle in games, there are other things to do besides rendering, like collision detection and AI. Hey, someone read my weird rant. Good for me.
Yes, the scenario I describe is one in which no graphics stagnate, removing demand for higher end discrete graphics cards until eventually CPUs catch up and can meet gaming needs without a GPU. If everyone can get the same experience pegged at 60 fps with just the CPU, why pay nVidia for a graphics card?
In case you didn't notice, I hate this scenario. I think ray tracing is never going to be technically competitive. I also think that my story is weak because it ignores that nVidia will be working on graphics chips for new consoles that will be based on technology that can be easily ported to PCs. Stepping back from my extreme example, however, I imagine the market moving in that direction, with the result being that for the first time consoles could have graphics comparable to PCs for most of their product cycle, and possibly even beat PC graphics when they're new. If you think this has already happened, you haven't been paying attention.
"I zero-index my hamsters" - Willtor (147206)
Raytracing is going to come chugging into the realm of acceptability just in time to see scanline's caboose receding over the horizon and gathering speed (sorry, OB transportation analogy).
Man, I hate it when stupid people are awarded mod points... Flamebait, seriously? Did you not see the "rampant speculation" tags?
It is by my will alone my thoughts acquire motion; it is by the juice of the coffee bean that the thoughts acquire speed
There are some fine real-time ray tracers out there that have interactive frame-rates with moderately complex scenes on reasonable hardware. Try the arauna demo, for instance. (Note: you probably need windows to run it, wine didn't work for me.) There are others as well; Arauna just happens to be one I've tried out recently. I got about 20fps or so on a friend's dual-core laptop at a resolution somewhere around 640x480. Not fast enough to throw out the GPU just yet, but usable. Somewhere between N-64 and Gamecube-level performance.
Real-time ray tracing is still quite a bit slower than GPU rendering on typical scenes, but hardly "hours per frame", unless you're rendering frames for a movie or doing an art project and care more about realistic lighting effects than performance. (I think too many people have tried povray in the 90's on their old 486s and still think somehow that's as fast as ray tracers ever will be.)
There are a lot of ways to make a ray-tracer slow: photon mapping, radiosity, path tracing, using primitives that have slow ray-intersection tests, using the wrong acceleration structure, excessive reflection, many light sources, etc.. but if you're just rendering triangles, it's quite possible to get usable interactive performance out of a good ray tracer on current hardware. We can add all those "slow" features that pixar et. al. use when the hardware (and algorithms) are ready for it.
I would say it's the other way around; ray tracers aren't particularly good at dynamic scenes because then you have to rebuild the acceleration structure when something moves.
That said, there has been a lot of progress lately into addressing this. The Bounding Interval Heirarchy (bih) for instance can be updated very quickly using an in-place sort very much akin to quicksort, and produces trees that are, in general, a bit slower to traverse than kd-trees but can be constructed a few orders of magnitude faster.
Ray tracing a million snowflakes all moving in different directions is going to be a very hard problem for awhile, but basic animation is quite doable.
Good for me. Kurtlar Vadisi
Let's not forget that raster graphics' required horse power increases linearly, e.g. for 10 times the polygons you need 10 times the cpu power, 2^32 times the polygons you need 2^32 times the cpu power.
Ray tracing on the other hand increases it's calculation needs logarithmically, so for 2^32 times the polygons you need only 32 times the cpu speed. So it will not be a N, N+1 thing but more like at one point ray tracing will be equally viable on that day's hardware and we'll never go back.