Vigile writes "Real-time raytracing has often been called the pinnacle of computer rendering for games but only recently has it been getting traction in the field. A German student, and now Intel employee, has been working on raytraced versions of the Quake 3 and Quake 4 game engines for years and is now using the power of Intel's development teams to push the technology further. With antialiasing implemented and anisotropic filtering close behind, they speculate that within two years the hardware will exist on the desktop to make 'game quality' raytracing graphics a reality."
Or is it? Simply means games will appear more eye-candy than they currently are. Gameplay will not
change. EA will continue to use take last years sport game, through some new people into it, perhaps introduce
some bug which makes it unusable and peddle it as The New Deluxe Edition. I wonder how many geometric objects it will be
able to handle (and whether it handles transparancy with textures and patterns well) Having done a bit of
raytracing I'm familiar with how quick things can bog down. It'll probably be a bit clunky at first, but get much
better as horsepower and horsepower/dollar ratio improve.
There was some game I played on an Amiga (got that? A really old computer) where I raced around in
an aircar zapping stuff (some bastard borrowed the game and I've never seen it since!) Very nicely rendered graphics, beautiful even, nearly
looked ray-traced. Must have been about 15 years ago.
While I look forward to more realistic, or creative and beautiful gamescapes, do keep in mind -- we were all blown away
by the first high quality animated films, now almost everything animated is rendered, raytraced, etc. and there's a lot of
junk out there now. So this will be exciting for about 2 years then become "meh".
Lastly, they've got to get the motion down. Characters in games, including sports, look so damn wooden in their movement! That's
where real improvement needs doing.
True, raytracing by itself will not make gameplay any better, nor animation better. However, it should make some visual effects that are hard today (shadows, reflections) simple. Hopefully, this will free up developers to work on other things instead of 'getting the shadows right'.
http://en.wikipedia.org/wiki/Raytracing#Advantages_of_ray_tracing [wikipedia.org]
True, raytracing by itself will not make gameplay any better, nor animation better. However, it should make some visual effects that are hard today (shadows, reflections) simple. Hopefully, this will free up developers to work on other things instead of 'getting the shadows right'.
I'll have to disagree with that. For many people "right" looking shadows are like the movies and television shows. Shadows and light/dark interplay in these environments are far from natural and even in ray-traced environments, animators laboriously juggle "fake" light sources to make the shadows "right" looking.
Also "single" bounce reflections are essentially "solved" problems with triangle rendering (environment maps), so only real advantages of ray tracing are "multi-bounce" and "self-shadowing" which are somewhat easier to solve in a ray-traced environment instead of a triangle rendered environment. Although sometimes these are interesting effects, they generally fall in the "eye-candy" side of the fence today and developers rarely spend much time on these (or so we hope given the state of game-play and AI in todays games), and they generally just implement canned solutions (e.g., some self-shadowing bump-map pixel shader technique) for certain "effects".
The canned solutions include precalculated light maps, mostly-static light sources and level designs that are carefully constructed to limit overdraw. The push for raytracing is more about removing the drawbacks of the current 'solutions', than notably improving eye candy.
E.g. raytracing solutions will free up developers to implement more-dynamic scenes, more-dynamic lights and level designs where buildings and cities aren't glorified mazes where 90% of the architecture is an impenetrable facade. (Sure, some titles feature those sorts of things now - but they're expensive tricks, with severely limited implementation)
Could you go further into why raytracing is better for deformable terrain (including buildings etc)? I think static environments are one of the most glaring problems of simulated environments.
Raytracing allows you to make models from an equation or a function with a resolution limited by processing power, not by polygons, are solid on the inside and can react with physics procedurally. Want to blow a hole in that wall? Instead of having destructible section pre-modeled, you just boolean subtract the shape of the explosion. Is it a brick wall, so the hole should have jaggy bits? Just run a greebling [wikipedia.org] algorithm on the edges.
Want to have breakable glass? Instead of having to make all your windows o
Where's my -1, Improper/Excessive Use Of "Scare" Quotes mod? This isn't a semi-literate junior high textbook, you don't need to highlight the important terms for us -- we're perfectly capable of figuring those out from context, thanks.
But yes, you're absolutely right about the necessity of lighting design to create dramatic lighting even with raytraced rendering. Most modern 3d-accelerated raster technologies are similar enough to raytracing in their effect that environmental lighting workflows shouldn't cha
So then, in a ray-traced environment, couldn't developers just install virtual stage lights in the environment to re-create TV and movie lighting in the gameplay? Sort of the same way that Nintendo made the Zelda game look like it was animated?
In case that wasn't clear in my response, developers do use virtual stage lights to make shadows look good in ray-traced environments (just like they do it in triangle rendered environments).
The time spent is in tweaking the location of those virtual lights to get sha
I see what you're saying now -- technology ( in this case, neither rendering nor ray-tracing ) does not give us "art for free" -- you still need animators, voice actors, lighting, set-makers, etc. etc. It just gives us another venue to perform art, which still takes the same amount of time.
Last I checked, that's the whole point of rendering engines, like Quake 3 and so many others. While they may end up needing modifications for maximum performance, I would be amazed if this didn't as well. Oh sure, maybe in 10 years when we have full hardware ray tracing and hypertransport based physics processors that will alleviate the need to spend so much time performance tuning. Until then though, this is not going to be any better than any other engine. From a developer's perspective at least. It
It's like what I used to say about pushing higher resolutions for television: Ten minutes into a GOOD show or movie and people are no longer conscious of the fact that they are watching it on a 12-inch black and white set.
The more the hardware can do for you, the less developer resources you need to spend on getting shadows and reflections to look good. The less developer resources spent on BS means that you can spend more developer resources on things like improving gameplay. Maybe EA won't do it (they don't strike as a very innovative company anymore), but somebody will.
I don't think it really does. Successful teams often start with a small core group that focuses on gameplay, and develops simple prototype models for the gameplay before any of the art direction is even decided, or any production art is even being developed. Generally the gameplay and game concepts is locked down before the real production even starts. This is in an idealized world - you also have to deal with market deadlines and such, and the more time the preproduction is cut, the less time you have t
Simply means games will appear more eye-candy than they currently are. Gameplay will not change.
Untrue! Ray Tracing is a lot more flexible method of rendering than previous engines have allowed. Many engines have claimed features like "destructible levels and terrain", but the engines were never fast enough to give both the eye candy demanded by the market and an engine capable of such free-form interaction. Ray Tracing could change all that. Programmers could no longer be limited by BSP trees, visibility trees, polygon count, and other requirements imposed on traditional engines.
Graphics-wise, ray tracing could open new doors as well. For example, 3D adventure games haven't really taken off because it's harder to insert clues in the areas. A painting on a wall, for example, will tend to be slightly too blurry to see a clue embedded in it in a true 3D environment. Ray tracing allows for more precise rendering that would make the painting crystal clear from all perspectives and distances. Which means that the game designer could actually make it visible that the subject of the painting is pointing at a hidden door without making it so obvious that it destroys the enjoyment of the puzzle.
What I'm getting at is that graphics improvements have been one of the factors that have allowed game creators to explore new game genres in the past. While the 3D-age has often focused on rendering quality to the point of forgetting the purpose of graphical improvements, that's not to say that a major switch in technologies couldn't bring new gaming experiences with it.
The one problem is that models made of spheres, boxes, cylinders and ellipsoids simply don't look very good. You need some kind of spline surface or polygon mesh instead to get decent artistic results. At least the spline surface could be cheaper to render than the equivalent tesselation, though.
Or is it? Simply means games will appear more eye-candy than they currently are. Gameplay will not change. EA will continue to use take last years sport game, through some new people into it, perhaps introduce some bug which makes it unusable and peddle it as The New Deluxe Edition. I wonder how many geometric objects it will be able to handle (and whether it handles transparancy with textures and patterns well) Having done a bit of raytracing I'm familiar with how quick things can bog down. It'll probably be a bit clunky at first, but get much better as horsepower and horsepower/dollar ratio improve.
With raytracing, there are lots of new possibilities. For one thing, reflection and refraction actually work like they do in real life. That means accurate mirrors, lenses, and water refraction. Lights can work accurately if you want them to, and radiosity can be precomputed for static scenes. That may just be eye candy to most people, but there are potentially game-play enhancements that make real life optics part of the game. Most of it (except good lenses) has been faked before with rasterization, but raytracing will actually let you set up a series of mirrors and telescopes to peek around corners in a FPS for instance. I can imagine a true hall of mirrors in an FPS would be at least a little more interesting than what we have now, too.
The other big technological benefit of raytracing is that it's asymptotically faster than rasterization. Raytracing is O(log n) versus O(n) for rasterization, which means that even though raytracing is currently slower (the constants involved in raytracing are higher), after the break even point is passed much less of the available computational power will be needed to render the scene and can instead be used for physics and AI.
"Raytracing is O(log n) versus O(n) for rasterization, which means that even though raytracing is currently slower (the constants involved in raytracing are higher), after the break even point is passed much less of the available computational power will be needed to render the scene and can instead be used for physics and AI."
People sometimes get a little too giddy talking about Big O notation. Yes, something that scales logarithmicly rather than linearly will eventually be faster, but it kinda depends on where you are now if that will happen any time soon and thus is worth worrying about. To use arbitrary units, suppose at an 'n' of 1000 is the intersection point between the line for rasterization and the curve for ray tracing. So when we pass 1000, it starts to be a case that ray tracing is more worthwhile. Now suppose that current generation of graphics is 100, and it grows at a rate of 2 per year. Ya... Ok, not going to be worrying about that any time soon.
I think that was his point is that just saying "But it's O(log n)!" doesn't mean it is necessarily better at this point.
Also there is the silicon problem to be considered. We don't do our graphics on general purpose processors, we do them on highly specialized DSPs that actually have only recently gained turning completeness (and aren't very good at it, they are really slow at branching among other things). The graphics we see today are possible only because we can make a special purpose processor that can accelerate them very efficiently. Can the same be done for raytracing? I don't know. I mean I'm sure it is possible to an extent, especially since it is a very parallel problem, but that doesn't mean that we will be able to as efficiently accelerate it.
So while it is appreciated that at some point, on equal general purpose hardware, ray tracing is more efficient that isn't the question. The question is What is that point (and how soon will we reach it) and does that carry over to the special purpose graphics hardware?
No, that's the answer to the question what is "O(log n)". I am perfectly familiar with "big O" notation. I am not however aware of what the original post meant by "n". Is it vertices, scene complexity, rays, textures, or some other metric of rendering scene complexity?
O(n) in the number of primary rays, generally some multiple of the number of pixels on the screen (though it might be a bit less if you're using MLRTA)
O(n) in the number of lights (though there may be some shortcuts) if shadow rays tests dominate
O(something big) if there's a lot of reflective and/or refractive objects and you don't do anything to mitigate the rampant recursion
O(n log n) in the number of photons, if you're using photon mapping
O(n log n) in the number of objects that moved since the last time you rebuilt the acceleration structure
That first one was what the original post was refering to. (Tracing a single ray is O(n log n). Tracing a pixel involves sending one or more rays and a shadow ray for each light for each primary ray that hit an object. Tracing a whole image involves tracing a lot of pixels. If the number of pixels and the number of lights are assumed to be a constant, they drop out of the big O equation. It's a very big constant, though, and that's one reason why ray tracers are so slow. However, once you get enough CPU to compensate for that large constant, the algorithm starts running pretty fast, and it doesn't slow down much at all when you throw lots of geometry at it.
While I am not sure that realtime raytracing will really be the next big thing, I think there are unintended consequences you overwatched.
Today, most CG effects must be hard coded, using tricks, shaders, complex modeling techniques, multiple passes, etc...
In the raytracing world, as you are aware, the engine is easier to use, and I would also say, easier to code. It is also very easy to parallelize (so a specialized card could bring HUGE performance gains) and require few modeling tweaking compared to the current T&L world. In a raytracer, shadows (including self-projecting), reflections, refractions, bump mapping, displacement mapping, etc... are an integral part of the renderer, they are not a lot of different modules stacked on top of each other. Bringing down the complexity of the rendering engine hopefully frees more resources to work on other parts of the game.
I grew up with video games where the blob of pixels barely resembles anything. The power of gameplay, lasting gameplay far outstrips graphics. Not that a little eye candy doesn't hurt. I guess the core problem is that nothing Intel produces can run time optimize "Lair" into "Tetris" or otherwise correct for this.
The power of gameplay, lasting gameplay far outstrips graphics
arcade Pac-man was awesome game play for it's time. I doubt I could stand more then 10 min of it. Super mario brothers was awesome for it's time. I doubt I could ever finish it again without being bored silly. Final Fantasy 6 was awesome for its time. I could play it still all the way through once a year. But my younger brother gets bored to tears. Gameplay dates itself too. We suffer from nostalgia, you and me. Gameplay is fun. Eye candy is fun.
I don't see why most slashdotter's think that if a company does decent graphics they cannot have good gameplay. Sure there is a lot of crap games that come out but this was true in the past too. Graphics have been going up but I can't say that gameplay has necessarily been going down completely. There were plenty of genesis/nintendo games I simply didn't find to be fun. In any case improved graphics in the last ten years has allowed for more diverse, immersing, and heart wrenching games. PS2+ games are t
I have never understood the race to photorealism in games. Perhaps it's for those back-of-box screenshots ("from a version you'll never own"). Better graphics are nice, but they swap the the player's imagination for visual detail. Games companies do this, diverting programming resources from what a game plays like to what a game looks like, without realising that there's a "+5, imagination" gameplay boost that comes from believing that the collection of bad sprites on screen is humanity's last chance for
I'm sure Pixar and other rendering houses will leverage this to keep production costs down and get videos out to market quicker. Then you have side-projects like the GPGPU, if this raw power can be harnessed for other applications it could be a boast for researchers.
I ran some raytracers and man, just getting a scene to render was a pixel by pixel affair, watching the image slowly update on the screen. It blows me away how yesterday's "holy shit this is awesome!" prerendered animation becomes today's game engine and tomorrow's "meh, what else have ya got?" Youtube videos are still too low-res but I've seen some of the high-res renders of current games like Armed Assault [wikipedia.org]. Wow, takes your breath way. The only shortcoming for realism at this point is they're still having t
...but Q4RT [idfun.de] seems to have handicapped most of what makes the Doom 3 engine so impressive-looking to begin with. The reflection effects sure are nice, but it's a long way from making anything comparable to modern methods.
I was a founder of Deep Productions [deeplabs.com], one of the Chicago's first rendering farms about 15 years ago. I recall having dozens of Pentium 60s (Were they called Pentium Pros back then?) with 512MB of RAM (if I remember correctly) running a variety of rendering programs (usually 3D Studio, but others based on clients needs). IIRC, a single raytraced frame took about 20 minutes. 2 dozen machines churning full speed were able to render approximately 60 fields per hour, or 1 second of animation in an hour.
I exited that market and Deep eventually moved out of that field entirely, but looking back, I can't believe we made the money that we made at the time. Now that ray tracing is getting closer to real time, it gives me a few minutes pause to realize how much technology has changed in ways that the AVERAGE consumer has no understanding of -- and doesn't need to. In the end, I'm glad that so many entrepreneurs take risks so that consumers needs (and yes, entertainment for some is a need) and wants are fulfilled, without those consumers even knowing the process necessary to get there.
Raytracing comes under a class of problems that are embarassingly parallel. Want to render 2 million(~1920x1020) pixels? Send them to 2 million processors(cores) simultaneously and get results back. This is possible because there is rendering each pixel is independent of rendering another. Note that all the data required(like textures, lights, etc.) should be available to all the processors, so SETI style high latency computation is out of the question.
What makes it interesting is that the gigahertz race is done with and has turned into a "core" race. Intel was already showcasing 80 cores on the same chip. A few cores dedicated to Phong shading algorithms and radiosity and the rest to ray tracing would simply overshadow the current raster rendering. Also, raytracing is mathematically elegant and simple compared to all the dirty tricks employed by current graphics technology so it should make programmers' lives easier(unlike the Cell processor which is a nightmare to code for).
Incorrect. They typically support alternate-frame rendering (each card does every other frame) for games that are problematic, but the best performance is to be had with tile-based rendering. This is where the SLI setup splits the scene up into a number of tiles, and then the two cards render them all, splitting the load so that each card is working as hard as it can. This is effectively splitting on the pixel level, but in a bit larger chunks. I'm sure that's because whatever overhead is involved probably
Raytracing has no advantage over rasterizing for opaque surfaces. Rasterizers are faster there, since their performance is not tied directly to the screen resolution. The advantages lie in refraction/reflection/shadows/translucency, which are painful to implement with rasterizers.
Thus, a hybrid seems to be the best idea. Rasterizer as default, with a special "shootray" instruction in the pixel shader.
Raytracing has no advantage over rasterizing for opaque surfaces. Rasterizers are faster there, since their performance is not tied directly to the screen resolution.
The advantages lie in refraction/reflection/shadows/translucency, which are painful to implement with rasterizers.
Actually, there's a big advantage. Raytracing is O(log n), but rasterization is O(n). OpenRT's demo [openrt.de] of a 350 million triangle model of a Boeing rendered in real time on a single PC (without GPU support) is a good example. The entire model doesn't even fit in memory, so visible surfaces are cached. The result is still realtime (although only a few FPS) with incredible detail. Go slashdot the server and watch the movie. Modern raster based cards can only render that many triangles in a whole second with all their fancy hardware, if they're lucky.
if a certain configuration of hardware can render 1280x720 images at 30 frames per second, then that same hardware will be able to push 563 FPS at a resolution of 256x192 (which happens to be what the DS has).
So why not make a handheld that can do real-time raytracing? Seems it would be easier to do. And that's a pretty good selling point to boast "better than PS3/360 graphics in the palm of your hand."
And to the above posts bemoaning the focus on graphics over gameplay, remember if they get a good real-time raytracing system in place then that frees the dev team up quite a bit. No longer having to work so hard on faking proper lighting, they can then focus on the more important things like gameplay/AI/physics.
So why not make a handheld that can do real-time raytracing? Seems it would be easier to do. And that's a pretty good selling point to boast "better than PS3/360 graphics in the palm of your hand."
It's just not worth it.
These days, games are often ported from platform to platform with fairly portable code (ie, written in C with platform specific low level stuff in ASM if required).
The second you put a raytracing platform out, every conventional raster graphics engine on the market becomes extremely
So why not make a handheld that can do real-time raytracing?
Because rendering a scene of a set level of complexity using ray tracing is vastly more compute intensive than the alternatives and nobody wants to buy a handheld that weighs 30Kg and requires a portable diesel generator.
Would you like spectacularly obvious answers to any other questions while I'm here?
Most people who pine for better game play are not looking hard enough. Generally they suffer form a severe case of nostalgia. Back int he bad old days for each Super Mario brothers or Missile command there were 4 ET's, Coeleco smurfs or Custer's Revenge. You just don't remember them. The past wasn't some golden age where game play trumps graphics. IT was a place where event he brilliant games had significant control issues, where top shelf games wouldn't been be considered tier 3 dreck today. Take a much maligned games liek Lair, is the basic controls any worse then say NARC for the NES? but NARC was a "good" game for it's time while Lair is a maligned as crap. I haven't played lair but bad controls are no longer acceptable.
There is game play innovation today, and it doesn't have to be independent of pretty graphics. In fact the people responsible for the game play aren't the ones responsible for innovative game play. One does not diminish the other. Good game play is also not the same as innovative game play. They coincide for instance in games like Katamari damacy but often innovation ~= unpolished ~= crap. What we're all looking for is polished game play. It never changes that around 80% of everything will be considered crap. So just rmeember that back int he day 80% of everything was crap too but you just don't remember. So they can ray trace graphics, thats awesome. Will it diminish gameplay.. not really you'll still have 80/20 rule. It's not an indication that things were better then before only that your brain works in a funny way.
Don't get me wrong, I love raytracers [mysterystudio.com], but what once was their exclusive domain (reflections, shadows,...) has been done in a "fake" but very convincing way since the few latest generations of 3D video cards. What's left? True refraction? True curved surfaces? Is it that important? I tend to side with the "give me gameplay" crowd here.
Realtime caustics and global illumination, on the other hand...
I don't care at all how the video card decides something needs to be rendered, so long as the results look good. I'm not concerned with the "correctness" of the calculations, only the results. I'd be all for a raytracing card if they found a way to make that work faster with less silicon than the existing rasterization systems. However, it seems we've really done a pretty good job of figuring out what can be quickly accelerated in silicon. I'd much rather have good, fast, fake stuff than something that is do
The problem with faking everything is that it quickly breaks down as your needs get more complex. For example, I've been working with a colleague recently on doing some nice, fast, impressive fake effects - most notably a system that can simulate a light shining through stained glass (not just a straight texture projection). We came up with a novel and fast way to fake it, but it completely breaks down if, say, two stained glass windows are in-line and you try to shine a light through... It simply doesn't work.
The advantage of doing things "for real" are that compatibility between your different effects is almost guaranteed, and your coders don't have to spend immense amounts of time curing those problems.
Just wanted to add a bit more explanation of this. Lightmapping has traditionally been the most effective way to get radiosity in a scene while still remaining real-time. When effects like normal and parallax mapping came along, lightmaps were suddenly incompatible. It took Valve to sort this out (though their solution is far from ideal), and only now, with UE3 and Gears of War, does it actually look halfway decent (Half-Life 2's solution washed things out, it's as if the normal mapping simply isn't there).
To solve the problem of two fake effects being incompatible, Valve invented a new fake effect to bridge it. You can imagine what happens when you start trying to mix a large number of effects. This is why the holy grail is still real-time raytracing - it's also a bit like why we want to have the Theory of Everything, as opposed to a bunch of little physics theories that each apply to a special case.
Right now I have a image of people rushing over to a smoking server as it seems the site has gone down. I didn't get to finish reading the article either.:(
I remember fifteen years ago doing VR research work and people joking about real-time raytracing for games and VR. Computers are massively faster now than they were then. Why aren't we doing it at this point?
Resolutions have gone up enormously. Polygon count has gone up enormously. If we talk the sort of quality scenes we were rendering in 1993, it was only a few more years before it was possible to do them real-time... but at that point models were 10x more complicated and you weren't rendering for 320x240, you were looking at 640x480. Now we're doing millions of polygons at HD resolutions.
As long as people want more polygons, more texture detail, and higher resolutions, realtime raytracing will never be a production reality. Better hardware, faster CPUs, etc are all consumed quickly to handle richer environments and then suddenly there isn't overhead for raytracing anymore.
In one of my lectures at university while studying Computer Science, the lecturer said:
People look at the TV and say things like "there's nothing on", "this is rubbish", "this film is so predictable", "surely not an ad break already". They don't often say, "I wish this TV had more pixels and a higher audio sampling rate".
Sometimes I think he's right. While I can see the merits of high definition and DTS, I've also seen plenty of films that seem to rely entirely on CGI and pretty graphics but have a weak plot (and plenty of games too for that matter). I hope this isn't going to make the developers spend even more time making textures, models and scenes just because you can see them so clearly.
The kind of hardware needed to run raytracing really fast is well understood, and it doesn't really look like today's GPUs or like intel's CPUs, though even today you can get better results if you take advantage of the GPU as well. If ATI or nVidia doesn't come up with a hardware raytracing GPU someone else will. It's a pity that Intel doesn't seem to be interested in working on that angle.
Here's an article I've dug out of the Wayback machine and cleaned up, Raytracing vs Rasterization [scarydevil.com]. Phillip Slusallek's home page is here [uni-sb.de], and you can follow that to SaarCOR and OpenRT. They built a prototype RPU (R for raytracing) that at 66 MHz was comparable in performance to a 2.6 GHz P4. The video [uni-sb.de] is pretty impressive, considering how slow the hardware is.
Most likely the ray traced games of tomorrow will be running on ray tracing accelerators, namely graphics cards. Probably the same graphics cards as the next generation or two, running the ray tracing via shaders... Sure, Intel like to talk about their 80 core x86 chip, but when it comes down to it I'm fairly certain that to get anything better than 'barely acceptable' you'll have a beast of an accelerator from nVidia or AMD. However it may make it easier for Intel to elbow into the game.
Big improvement on the way (Score:5, Interesting)
Or is it? Simply means games will appear more eye-candy than they currently are. Gameplay will not change. EA will continue to use take last years sport game, through some new people into it, perhaps introduce some bug which makes it unusable and peddle it as The New Deluxe Edition. I wonder how many geometric objects it will be able to handle (and whether it handles transparancy with textures and patterns well) Having done a bit of raytracing I'm familiar with how quick things can bog down. It'll probably be a bit clunky at first, but get much better as horsepower and horsepower/dollar ratio improve.
There was some game I played on an Amiga (got that? A really old computer) where I raced around in an aircar zapping stuff (some bastard borrowed the game and I've never seen it since!) Very nicely rendered graphics, beautiful even, nearly looked ray-traced. Must have been about 15 years ago.
While I look forward to more realistic, or creative and beautiful gamescapes, do keep in mind -- we were all blown away by the first high quality animated films, now almost everything animated is rendered, raytraced, etc. and there's a lot of junk out there now. So this will be exciting for about 2 years then become "meh".
Lastly, they've got to get the motion down. Characters in games, including sports, look so damn wooden in their movement! That's where real improvement needs doing.
Re:Big improvement on the way (Score:5, Informative)
Parent
Re:Big improvement on the way (Score:5, Insightful)
I'll have to disagree with that. For many people "right" looking shadows are like the movies and television shows. Shadows and light/dark interplay in these environments are far from natural and even in ray-traced environments, animators laboriously juggle "fake" light sources to make the shadows "right" looking.
Also "single" bounce reflections are essentially "solved" problems with triangle rendering (environment maps), so only real advantages of ray tracing are "multi-bounce" and "self-shadowing" which are somewhat easier to solve in a ray-traced environment instead of a triangle rendered environment. Although sometimes these are interesting effects, they generally fall in the "eye-candy" side of the fence today and developers rarely spend much time on these (or so we hope given the state of game-play and AI in todays games), and they generally just implement canned solutions (e.g., some self-shadowing bump-map pixel shader technique) for certain "effects".
Parent
Re:Big improvement on the way (Score:5, Interesting)
E.g. raytracing solutions will free up developers to implement more-dynamic scenes, more-dynamic lights and level designs where buildings and cities aren't glorified mazes where 90% of the architecture is an impenetrable facade.
(Sure, some titles feature those sorts of things now - but they're expensive tricks, with severely limited implementation)
Parent
Re:Big improvement on the way (Score:4, Insightful)
Parent
Re: (Score:3, Informative)
Want to blow a hole in that wall? Instead of having destructible section pre-modeled, you just boolean subtract the shape of the explosion. Is it a brick wall, so the hole should have jaggy bits? Just run a greebling [wikipedia.org] algorithm on the edges.
Want to have breakable glass? Instead of having to make all your windows o
Re: (Score:3, Interesting)
This isn't a semi-literate junior high textbook, you don't need to highlight the important terms for us -- we're perfectly capable of figuring those out from context, thanks.
But yes, you're absolutely right about the necessity of lighting design to create dramatic lighting even with raytraced rendering. Most modern 3d-accelerated raster technologies are similar enough to raytracing in their effect that environmental lighting workflows shouldn't cha
Re: (Score:3, Interesting)
In case that wasn't clear in my response, developers do use virtual stage lights to make shadows look good in ray-traced environments (just like they do it in triangle rendered environments).
The time spent is in tweaking the location of those virtual lights to get sha
Re: (Score:3, Insightful)
Re: (Score:3, Insightful)
Re:Big improvement on the way (Score:5, Insightful)
Parent
Re: (Score:2, Interesting)
Re: (Score:3, Insightful)
I think the grand-parent's point still stands.
Re: (Score:3, Insightful)
Re:Big improvement on the way (Score:4, Interesting)
Untrue! Ray Tracing is a lot more flexible method of rendering than previous engines have allowed. Many engines have claimed features like "destructible levels and terrain", but the engines were never fast enough to give both the eye candy demanded by the market and an engine capable of such free-form interaction. Ray Tracing could change all that. Programmers could no longer be limited by BSP trees, visibility trees, polygon count, and other requirements imposed on traditional engines.
Graphics-wise, ray tracing could open new doors as well. For example, 3D adventure games haven't really taken off because it's harder to insert clues in the areas. A painting on a wall, for example, will tend to be slightly too blurry to see a clue embedded in it in a true 3D environment. Ray tracing allows for more precise rendering that would make the painting crystal clear from all perspectives and distances. Which means that the game designer could actually make it visible that the subject of the painting is pointing at a hidden door without making it so obvious that it destroys the enjoyment of the puzzle.
What I'm getting at is that graphics improvements have been one of the factors that have allowed game creators to explore new game genres in the past. While the 3D-age has often focused on rendering quality to the point of forgetting the purpose of graphical improvements, that's not to say that a major switch in technologies couldn't bring new gaming experiences with it.
Parent
Re: (Score:2)
Re: (Score:3, Insightful)
Re:Big improvement on the way (Score:5, Informative)
With raytracing, there are lots of new possibilities. For one thing, reflection and refraction actually work like they do in real life. That means accurate mirrors, lenses, and water refraction. Lights can work accurately if you want them to, and radiosity can be precomputed for static scenes. That may just be eye candy to most people, but there are potentially game-play enhancements that make real life optics part of the game. Most of it (except good lenses) has been faked before with rasterization, but raytracing will actually let you set up a series of mirrors and telescopes to peek around corners in a FPS for instance. I can imagine a true hall of mirrors in an FPS would be at least a little more interesting than what we have now, too.
The other big technological benefit of raytracing is that it's asymptotically faster than rasterization. Raytracing is O(log n) versus O(n) for rasterization, which means that even though raytracing is currently slower (the constants involved in raytracing are higher), after the break even point is passed much less of the available computational power will be needed to render the scene and can instead be used for physics and AI.
Parent
Re: (Score:3, Interesting)
Not disagreeing with you here, but what's "n"?
I think what he meant is (Score:4, Interesting)
People sometimes get a little too giddy talking about Big O notation. Yes, something that scales logarithmicly rather than linearly will eventually be faster, but it kinda depends on where you are now if that will happen any time soon and thus is worth worrying about. To use arbitrary units, suppose at an 'n' of 1000 is the intersection point between the line for rasterization and the curve for ray tracing. So when we pass 1000, it starts to be a case that ray tracing is more worthwhile. Now suppose that current generation of graphics is 100, and it grows at a rate of 2 per year. Ya... Ok, not going to be worrying about that any time soon.
I think that was his point is that just saying "But it's O(log n)!" doesn't mean it is necessarily better at this point.
Also there is the silicon problem to be considered. We don't do our graphics on general purpose processors, we do them on highly specialized DSPs that actually have only recently gained turning completeness (and aren't very good at it, they are really slow at branching among other things). The graphics we see today are possible only because we can make a special purpose processor that can accelerate them very efficiently. Can the same be done for raytracing? I don't know. I mean I'm sure it is possible to an extent, especially since it is a very parallel problem, but that doesn't mean that we will be able to as efficiently accelerate it.
So while it is appreciated that at some point, on equal general purpose hardware, ray tracing is more efficient that isn't the question. The question is What is that point (and how soon will we reach it) and does that carry over to the special purpose graphics hardware?
Parent
Re: (Score:3, Informative)
big O (Score:5, Informative)
- O(log n) in the number of objects in the scene
- O(n) in the number of primary rays, generally some multiple of the number of pixels on the screen (though it might be a bit less if you're using MLRTA)
- O(n) in the number of lights (though there may be some shortcuts) if shadow rays tests dominate
- O(something big) if there's a lot of reflective and/or refractive objects and you don't do anything to mitigate the rampant recursion
- O(n log n) in the number of photons, if you're using photon mapping
- O(n log n) in the number of objects that moved since the last time you rebuilt the acceleration structure
That first one was what the original post was refering to. (Tracing a single ray is O(n log n). Tracing a pixel involves sending one or more rays and a shadow ray for each light for each primary ray that hit an object. Tracing a whole image involves tracing a lot of pixels. If the number of pixels and the number of lights are assumed to be a constant, they drop out of the big O equation. It's a very big constant, though, and that's one reason why ray tracers are so slow. However, once you get enough CPU to compensate for that large constant, the algorithm starts running pretty fast, and it doesn't slow down much at all when you throw lots of geometry at it.Parent
Unintended consequence (Score:5, Informative)
Today, most CG effects must be hard coded, using tricks, shaders, complex modeling techniques, multiple passes, etc... In the raytracing world, as you are aware, the engine is easier to use, and I would also say, easier to code. It is also very easy to parallelize (so a specialized card could bring HUGE performance gains) and require few modeling tweaking compared to the current T&L world. In a raytracer, shadows (including self-projecting), reflections, refractions, bump mapping, displacement mapping, etc... are an integral part of the renderer, they are not a lot of different modules stacked on top of each other. Bringing down the complexity of the rendering engine hopefully frees more resources to work on other parts of the game.
Parent
Give me gameplay. (Score:5, Insightful)
Re: (Score:2)
Oh...so a game worth buying then?
Re: (Score:3, Insightful)
arcade Pac-man was awesome game play for it's time. I doubt I could stand more then 10 min of it. Super mario brothers was awesome for it's time. I doubt I could ever finish it again without being bored silly. Final Fantasy 6 was awesome for its time. I could play it still all the way through once a year. But my younger brother gets bored to tears. Gameplay dates itself too. We suffer from nostalgia, you and me. Gameplay is fun. Eye candy is fun.
Better graphics != worse gameplay (Score:3, Insightful)
PS2+ games are t
Visuals are a lost cause. (Score:3, Insightful)
Sounds promising. (Score:2)
I remember back in the day... (Score:2)
Youtube videos are still too low-res but I've seen some of the high-res renders of current games like Armed Assault [wikipedia.org]. Wow, takes your breath way. The only shortcoming for realism at this point is they're still having t
Not to be a wet blanket... (Score:4, Interesting)
Sure is interesting, all the same.
Wow, real time -- glad I left that business (Score:5, Interesting)
I exited that market and Deep eventually moved out of that field entirely, but looking back, I can't believe we made the money that we made at the time. Now that ray tracing is getting closer to real time, it gives me a few minutes pause to realize how much technology has changed in ways that the AVERAGE consumer has no understanding of -- and doesn't need to. In the end, I'm glad that so many entrepreneurs take risks so that consumers needs (and yes, entertainment for some is a need) and wants are fulfilled, without those consumers even knowing the process necessary to get there.
Raytracing is "embarassingly" parallel (Score:4, Insightful)
Raytracing comes under a class of problems that are embarassingly parallel. Want to render 2 million(~1920x1020) pixels? Send them to 2 million processors(cores) simultaneously and get results back. This is possible because there is rendering each pixel is independent of rendering another. Note that all the data required(like textures, lights, etc.) should be available to all the processors, so SETI style high latency computation is out of the question.
What makes it interesting is that the gigahertz race is done with and has turned into a "core" race. Intel was already showcasing 80 cores on the same chip. A few cores dedicated to Phong shading algorithms and radiosity and the rest to ray tracing would simply overshadow the current raster rendering. Also, raytracing is mathematically elegant and simple compared to all the dirty tricks employed by current graphics technology so it should make programmers' lives easier(unlike the Cell processor which is a nightmare to code for).
Re: (Score:3, Interesting)
Not the shiny new hammer (Score:2)
The advantages lie in refraction/reflection/shadows/translucency, which are painful to implement with rasterizers.
Thus, a hybrid seems to be the best idea. Rasterizer as default, with a special "shootray" instruction in the pixel shader.
Re:Not the shiny new hammer (Score:4, Interesting)
Actually, there's a big advantage. Raytracing is O(log n), but rasterization is O(n). OpenRT's demo [openrt.de] of a 350 million triangle model of a Boeing rendered in real time on a single PC (without GPU support) is a good example. The entire model doesn't even fit in memory, so visible surfaces are cached. The result is still realtime (although only a few FPS) with incredible detail. Go slashdot the server and watch the movie. Modern raster based cards can only render that many triangles in a whole second with all their fancy hardware, if they're lucky.
Parent
Handhelds first? (Score:4, Interesting)
And to the above posts bemoaning the focus on graphics over gameplay, remember if they get a good real-time raytracing system in place then that frees the dev team up quite a bit. No longer having to work so hard on faking proper lighting, they can then focus on the more important things like gameplay/AI/physics.
Re: (Score:3, Interesting)
It's just not worth it.
These days, games are often ported from platform to platform with fairly portable code (ie, written in C with platform specific low level stuff in ASM if required).
The second you put a raytracing platform out, every conventional raster graphics engine on the market becomes extremely
Re: (Score:3, Funny)
Because rendering a scene of a set level of complexity using ray tracing is vastly more compute intensive than the alternatives and nobody wants to buy a handheld that weighs 30Kg and requires a portable diesel generator.
Would you like spectacularly obvious answers to any other questions while I'm here?
Gameplay vs Graphics (Score:5, Insightful)
There is game play innovation today, and it doesn't have to be independent of pretty graphics. In fact the people responsible for the game play aren't the ones responsible for innovative game play. One does not diminish the other. Good game play is also not the same as innovative game play. They coincide for instance in games like Katamari damacy but often innovation ~= unpolished ~= crap. What we're all looking for is polished game play. It never changes that around 80% of everything will be considered crap. So just rmeember that back int he day 80% of everything was crap too but you just don't remember. So they can ray trace graphics, thats awesome. Will it diminish gameplay.. not really you'll still have 80/20 rule. It's not an indication that things were better then before only that your brain works in a funny way.
Is it still relevant? (Score:5, Interesting)
Don't get me wrong, I love raytracers [mysterystudio.com], but what once was their exclusive domain (reflections, shadows,...) has been done in a "fake" but very convincing way since the few latest generations of 3D video cards. What's left? True refraction? True curved surfaces? Is it that important? I tend to side with the "give me gameplay" crowd here.
Realtime caustics and global illumination, on the other hand...
Ya I haven't really seen many benefits (Score:3, Interesting)
I'd much rather have good, fast, fake stuff than something that is do
Re:Ya I haven't really seen many benefits (Score:5, Informative)
The problem with faking everything is that it quickly breaks down as your needs get more complex. For example, I've been working with a colleague recently on doing some nice, fast, impressive fake effects - most notably a system that can simulate a light shining through stained glass (not just a straight texture projection). We came up with a novel and fast way to fake it, but it completely breaks down if, say, two stained glass windows are in-line and you try to shine a light through... It simply doesn't work.
The advantage of doing things "for real" are that compatibility between your different effects is almost guaranteed, and your coders don't have to spend immense amounts of time curing those problems.
Parent
Re:Ya I haven't really seen many benefits (Score:4, Informative)
Just wanted to add a bit more explanation of this. Lightmapping has traditionally been the most effective way to get radiosity in a scene while still remaining real-time. When effects like normal and parallax mapping came along, lightmaps were suddenly incompatible. It took Valve to sort this out (though their solution is far from ideal), and only now, with UE3 and Gears of War, does it actually look halfway decent (Half-Life 2's solution washed things out, it's as if the normal mapping simply isn't there).
To solve the problem of two fake effects being incompatible, Valve invented a new fake effect to bridge it. You can imagine what happens when you start trying to mix a large number of effects. This is why the holy grail is still real-time raytracing - it's also a bit like why we want to have the Theory of Everything, as opposed to a bunch of little physics theories that each apply to a special case.
Parent
Smoking Server (Score:2)
Here's the reason its not here now... (Score:3, Interesting)
Resolutions have gone up enormously. Polygon count has gone up enormously. If we talk the sort of quality scenes we were rendering in 1993, it was only a few more years before it was possible to do them real-time... but at that point models were 10x more complicated and you weren't rendering for 320x240, you were looking at 640x480. Now we're doing millions of polygons at HD resolutions.
As long as people want more polygons, more texture detail, and higher resolutions, realtime raytracing will never be a production reality. Better hardware, faster CPUs, etc are all consumed quickly to handle richer environments and then suddenly there isn't overhead for raytracing anymore.
Sigh (Score:5, Insightful)
The obsession with graphics is ruining the gaming industry. Compare the PS3's sales to the Wii's [msn.com] for evidence.
But is it needed? (Score:3, Interesting)
Sometimes I think he's right. While I can see the merits of high definition and DTS, I've also seen plenty of films that seem to rely entirely on CGI and pretty graphics but have a weak plot (and plenty of games too for that matter). I hope this isn't going to make the developers spend even more time making textures, models and scenes just because you can see them so clearly.
Raytracing hardware is what's really needed... (Score:3, Interesting)
Here's an article I've dug out of the Wayback machine and cleaned up, Raytracing vs Rasterization [scarydevil.com]. Phillip Slusallek's home page is here [uni-sb.de], and you can follow that to SaarCOR and OpenRT. They built a prototype RPU (R for raytracing) that at 66 MHz was comparable in performance to a 2.6 GHz P4. The video [uni-sb.de] is pretty impressive, considering how slow the hardware is.
Re: (Score:2, Insightful)
Sure, Intel like to talk about their 80 core x86 chip, but when it comes down to it I'm fairly certain that to get anything better than 'barely acceptable' you'll have a beast of an accelerator from nVidia or AMD. However it may make it easier for Intel to elbow into the game.
Note that you could