Students Evaluate Ray Tracing From Developers' Side
Vigile writes "Much has been said about ray tracing for gaming in recent weeks: luminaries like John Carmack, Cevat Yerli and NVIDIA's David Kirk have already placed their flags in the ground but what about developers that have actually worked on fully ray traced games? PC Perspective discusses the benefits and problems in art creation, programming and design on a ray traced game engine with a group of students working on two separate projects. These are not AAA-class titles but they do offer some great insights for anyone considering the ray tracing and rasterization debate."
I know this may not be a popular question, but what is the point with raytracing for games?
We're finally getting to a level of technology with rasterization where we're producing visuals at a level which is "Good Enough" (or better) for practically every genre. Do we really need to get on the hardware treadmill for the next 10 years to get to a similar technology level to get slightly more realistic lighting and reflections?
"...ray tracing and rasterization debate"
I don't think there is any debate at all, RayTracing is by far superior, there is just the problem of computing power.
Anyone (perhaps ask the modelers for the games) who deals with 3D software, knows the benefits of RayTracing for simulating reality (Reflections, Ambient Occlusion, Sub-Surface Scattering, etc)
And once computing power reaches that level it will even speed up the process of creating games because you can let the RayTracing take care of shadows, reflections, highlights, etc instead of manually mapping them.
Take a look at anything LightWave, Maya, 3Dsmax, Softimage, Blender, etc spits out of its render engines, or visual effects in recent movies... granted, that's (as stated a few times in the discussion) years away... but, I don't think anyone is arguing against RayTracing.
(-1 Bastard) ...but...whatever, ive been waiting for real-time RayTracing for years even just within my own 3D applications, nevermind games...
Typically, however, games manufacturers do NOT mean "raytracing" when they say "raytracing". They mean basic rendering. ie: Applying of shaders and other simple colouring techniques. Renderman, the rendering package used to produce movies like Finding Nemo, uses rendering, not raytracing. Rendering is popular with movie producers because it's fast and "good enough". (Audiences differ on the subject, with plenty of people preferring model-based special-effects because the lighting is real and the reflections are correct - well, they'd better be!) My fear is that true raytracing and physically correct lighting models will be totally overlooked in favour of things that will be cheaper to produce and therefore make more money.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
In the current model, Nvidia and ATI (now AMD) are the stars of the show. Gamers upgrade their video card at least anually, and now they often buy a pair to run SLI. The CPU is less important. Despite their efforts to force game devels to adopt multi-threaded game engines the uptake hasn't been what they need to drive sales of newer multi-core chips.
Move the heavy grunt of graphics from the GPU to the Intel Inside, so that gamers must have that octocore CPU and even better a pair of em and make em get wood over the rumored sixteen core chips and hang out at tech rumor websites to get the latest dope on em and Intel is back in charge of the PC world again.
Yes there are techincal issues, but those don't matter, this is a tech war between the chip vendors. AMD owning ATI makes things interesting, who knows how that will play out in the end, did they buy a GPU maker just as the GPU is dying? Do they have a PLAN that will make Intel the underdog again for a few years of catching up? Stay tuned.
Democrat delenda est
If you haven't, go take a look at the screenshots in the article. Scroll up there, click on the link, and scroll down the page a bit.
Seen them? Good. They demonstrate one thing very effectively: no matter what rendering engine you use, good art direction trumps technology, every time.
These games are using "cutting edge" technology, and the article blathers on about how ray-tracing allowed them to use ridiculous amounts of triangles and have "complex lighting and shadows." But they look like crap.
Contrast this with games like Twilight Princess, Super Mario Galaxy, Ico, Shadow of the Colossus, and Rez. All of them use rasterization on hardware between two and eight years old, but they look fantastic.
I think your definition of "looks like crap" is different than mine. I think they look pretty good. And I think their accomplishment is even more impressive when you consider that Outbound was made by a handful of students in about a year using experimental tools.
Also, the high-resolution images don't seem to have done much anti-aliasing, which would have improved the perceived quality significantly. (Outbound does support a range of AA settings. Perhaps Bikker didn't want to be accused of submitting images that weren't representative of actual gameplay.)
Also consider that Twilight Princess et. al. were made on a large budget and likely employed many of the best artists in the industry. You can do a lot with limited polygon counts and pre-baked textures if you have a lot of manpower.
Google for rtChess. (you'll probably need to replace the SDL.dll that comes with to avoid a crash on windows) It's got the best chess set models I've ever seen in a game. Of course I'm biased. They're mostly CSG with real curved surfaces. I made them by sketching on some graph paper and reading off 3 points on each curve and making a primitive that took that as a definition. On the performance side, the download is still using a horribly old ray tracer. The newer one (not available yet) is 2-4x faster per core, and also supports multicore. So when we update the game, it won't have to get all low-res when you drag the board around :-)
I know fully well 3DSMax and Maya are the defacto standard in big shop game developers. Blender is HUGE among open source in indy game shops.
But the "other" underdog is TrueSpace. I've been with them (Caligari) since version 1. They're now at 7.6. In the almost 10-15 years they've been around they've always been under one guy, Roman Ormandi. It says a lot to me, that he hasn't yet "cashed" out on this amazing 3D hand changing that's been going on with all the other apps.
3DS started with Autodesk, went to Discreet and i think another owner, Autodesk realizing their mistake bought Maya, and then grabbed 3DSMax back. TrueSpace never had any foster parents the way these apps has, and because of that, has remained "pure" and uncorrupted.
It may be lacking in a lot of the technologies the other "big guys" have, but it stays pure to their path. The interface (though a lot more clunky than the past) remains clean and efficient to use. Unparalleled customization and tons of features I can't remember and have never used. They incorporated Python into it for scripting.
I could rave on like a Squirrel crossing the road about TrueSpace. I'll get back on focus now. TrueSpace is a true underdog in the 3D graphics field and IMHO underappreciated. I tip my hat to the team at Caligari.
I remember trueSpace from when I had my Amiga computer. Back then it was called Caligari and had one of the easiest to use 3D modellers. Seems like RealSoft is also still around. Not to mention NewTek's LightWave of course.
Why do articles always take the position that rasterization and ray tracing are mutually exclusive? They are not. Basically both schemes involve determining which pixels in a 2D canvas should be what colors based on the contents of a 3D canvas. Rasterization techniques typically iterate through the elements in the 3D canvas in order to determine which pixels in the 2D canvas to turn on, while ray tracing typically iterates through the pixels in the 2D canvas determining what color it should be by "shooting a ray" through the 3D canvas. But that's just two of the ways to skin the rendering cat! I've long been a proponent of combining the two: Iterate through the elements in the 3D canvas, determine which pixel in the 2D canvas each point corresponds to and, if that point hasn't been rendered yet, "shoot a ray" through the 3D canvas to determine what color it should be. I've recently uploaded a hastily cobbled together version in both pure java and c with a jni wrapper I call "openrender3D" to sourceforge.net that incorporates this approach.
Comment removed based on user account deletion
Maya and 3DS max definately rule the Games world, followed closely by MotionBuilder and then XSI.
Blender is probably used a lot in indy development, but i suspect that a far greater number use pirated copies of Max and Maya. (they may claim the assets were created in blender for I don't want to get sued reasons....)
You're history of 3DS Max is slightly off. Max was published by Autodesk, but developed by Yost. Discreet Bought Yost, and max was then published by Kinetix. Discreet was evetually bought by Autodesk.
Autodesk already had owned discreet for quite a few years before it bought alias/wavefront a couple of years ago. So Autodesk never really made any mistakes - they never owned Max until about version 2 ish.
I appreciate you seem to be a fan of Truespace, but in all honesty it's not as serious a contender in the games industry as you seem to believe. (What about Xsi? Modo? Endorphin? Motionbuilder?).
Ok so it has python scripting, but then so does max, maya, xsi and motionbuilder.
I also doubt it's anywhere near as customisable as Maya. And i'd also that calgari's marketing bumpf is a load of rubbish. see this.
Max does not have a fully customisable interface, however you can completely re-write the maya interface - so why do they say you can't customise it? deleteUI $gMainWindow if you really want to...
They claim XSI, Max and Maya don't have generalised node editors? Are they taking the piss?
XSI doesn't support multiple rendering engines? You've got to be joking right? Renderman / mental ray ???
Physics based characters only in Truespace? Pardon? XSI has awesome physics support (with multiple engines), and Maya/Max has the freely available nima plugins to do ragdolls.
and i could go on....
I don't know what sort of filtering current games do on the final image, but it makes sense to do more filtering with a ray tracer because tracing more rays is so expensive. I expect the technique is more common on off-line renderers.
(Texture filtering is pretty widely used everywhere, but that's a separate issue.)
I'm not much of a gamer, but I'm skeptical of the claim that AI is really using all that CPU power. I would guess that most of the CPU resources in a modern game are devoted to managing the complexity of the 3-d models the GPU has to render. But, if we assume that AI and physics really do use the whole CPU, and that the CPU is fast enough to do ray tracing and nothing else, and that Moore's law holds, t hen we can just wait another 18 months and have a CPU that's fast enough to do both at the same time. I don't really see this as a show-stopper for ray tracing except maybe in the near future (the next five years or so).
Also, consider that the ability to trace rays is not just useful for graphics but also for physics and AI. Storing all that geometry data in one place rather than having one copy in the video card and another copy in memory for the physics and AI seems like a good idea to me.
Also, it's pretty likely that if ray tracing does become popular, we'll have some form of hardware-accelerated ray tracing eventually, making your concerns moot.
There are several reasons. Firstly, I don't think it's realistic to say it's a difference between 100% and 98%; if I had to make up some numbers, I'd say it's more like 50% vs 60%. Rasterization algorithms are never going to be confused with reality without a lot of pre-baked lighting effects and a lot of squinting, no matter how many polygons they can handle. Polygon counts aren't the only measure of realism.
Whitted-style ray tracing isn't really all that realistic either, but with ray tracing there is a more obvious upgrade path to real-time global illumination, which is where we're going to have to go in order to get to 98%. (I recommend you spend some time browsing Henrik Jensen's web page if you want to know what I mean.)
Also, ray tracers are in many ways easier to work with (as the article attests). Artist can focus on the actual art, rather than being distracted by all the little tricks you need to do to make everything work. Ray tracers are also less sensitive to scene complexity, so artists are less constrained about the kinds of details they can show. Tools that are easier to use translate to better games on smaller budgets.