Discover the best of the web!
Learn more about Digg by taking the tour.
Raytracing - could it be with us sooner than we think?
bit-tech.net — After years of slow moving, it seems the whole industry went into a tizzy in July. Has this world lost its mind? The author of this article doesn't think so, and he thinks he's found the key that makes it all come together. Could Raytracing be the future, and will it be with us sooner than we think? Really insightful read.
- 793 diggs
- digg it
- Pookeyhead, on 10/12/2007, -5/+10Great article: Good basic raytracing theory for those new to the term, and an exciting, amusing glimpse into the "not too distant future".
- Ramble, on 10/12/2007, -23/+2Are all the forumites posting on Digg now?
- Kazrog, on 10/12/2007, -2/+15Agree with Cheney. I was doing raytracing on my Amiga 3000. :)
- serpentor, on 10/12/2007, -13/+5Or this could just be viral marketing for the Nintendo Wii's secret real-time raytracing chip...
- bigz, on 10/12/2007, -2/+7@CHENEYTHEDICK
My bad, late night/early morning. Digging with very little sleep does wonders to my ability to put a paragraph together. :-)
- Dejvino, on 10/12/2007, -1/+11I must say I was waiting for this moment from the first time I tried POV-Ray (which was in previous century actually... :)
So this means I'll have to throw away my graphics card and buy something with RPU...oh well... :)- NikoKun, on 10/12/2007, -3/+8ah yes, good old POV-Ray! I should start using that more often again...
- kyriakos, on 10/12/2007, -0/+5I remember waiting 16 hours for an 800x600 raytrace using POV ages ago.. imagine if they manage that in realtime how much processing power has increased over the past 10 years
- Clearz, on 10/12/2007, -1/+3I remember waiting about 3 days to create one scene with one object a checkboard floor and 3 lights on my Amiga 500 using Imagine 2. Them where the days.
- Chewie67, on 10/12/2007, -0/+4Pov-Ray rocks. I've used it for over a decade. Excellent
http://www.povray.org/ - dodger2020, on 10/12/2007, -2/+0I think you might have meant earlier in the previous decade? There's not many people left that were even ALIVE earlier in the previous century. :)
"I must say I was waiting for this moment from the first time I tried POV-Ray (which was in previous century actually... :)" - bitrot, on 10/12/2007, -0/+2Previous century = 20th Century (1901-2000)
Current century = 21st Century (2001-2100)
It's entirely possible that he first used POV-Ray in the previous century, as did I.
- compuXP, on 10/12/2007, -5/+15http://en.wikipedia.org/wiki/Raytracing
- ThetaDot, on 10/12/2007, -0/+2Real-time raytracing is not new in several non-game applications.
It already is 'with' many people in other industries, and has been for quite a while.- BugMeNot2, on 10/12/2007, -0/+3http://www.openrt.de/
Demos:
http://www.openrt.de/gallery.php - darkstar949, on 10/12/2007, -1/+2True, but the algorithms that are used for non-game applications tend to buckle under the strain of trying to run a the speeds necessary to play a game.
- BugMeNot2, on 10/12/2007, -0/+3http://www.openrt.de/
- CurtHowland, on 10/12/2007, -2/+12One more "update" to add to my list of "things for my multi-core 64bit Linux Box" that I will never be able to afford.
- gooddoggytreat, on 10/12/2007, -4/+2Raytracing is not a new concept in the slightest, but real-time raytracing! Oooh! I never even thought of why the chip manufacturers would buy up the graphic chip manufacturers. I guess now it makes more sense, woooo! Screw raycasting. :)
- Lacero, on 10/12/2007, -9/+13F raytracing. Give me real-time radiosity.
- darkstar949, on 10/12/2007, -0/+29You may or may not be aware, but those are all extensions of the basic ray-tracing algorithm. If and when computers can do real-time ray-tracing they will likely include those algorithms as well.
- kasurila, on 10/12/2007, -1/+6The problem with radiosity is that the algorithm doesn't parallellize that well (you have to do one pass at a time). Photon based GI should scale well though. Real DOF is unreasonably heavy to calculate and the effect isn't that different from a good 2d fake in most cases.
- smenkhare, on 10/12/2007, -1/+2RADIANCE (the program) scales pretty linearly with additional CPUs or cores (using rpiece to split the render). I beleive it does GI by shooting photons... Still a touch off real-time unless you BlueGene or something similar beside your desk.
- shadowman99, on 10/12/2007, -0/+4F real-time photon-based Global Illumination with true depth-of-field. Give me Real Time Ambient Occlusion with true DOF on a stereoscopic display.
- DjDimitrious, on 10/12/2007, -1/+7F Everything. Give me virtual reality.
- blackmariah, on 10/12/2007, -1/+25F it all, I'm going outside.
- HappyScrappy, on 10/12/2007, -0/+1Radiosity only helps you determine the lighting for the model, you still have to raytrace it to make an image out of it.
- sandwichpants, on 10/12/2007, -1/+2Who here remembers how one radiosity was initially developed from software used to trace radiation leaks from nuclear reactors?
Anyway, I want real time raytracing with per pixel displacement mapping, sub surface scattering, 3D motion blur with curved interpolation, brick mapped irradiance caching with nice blurring to get rid of all that nasty noise you get from most QMC implementations and antialiasing with nice filters like Mitchell-Netrivali! Basically I want a combination of the features of PRman and Vray (Or Brazil, or others) in real time.
- wurzelgummage, on 10/12/2007, -7/+1When I opened the link, I thought this was going to be about BITBOYS.
- cbrooker, on 10/12/2007, -5/+3The article was ok, but not terribly informative. The Alice in Wonderland stuff is terrible and lame.
- merreborn, on 10/12/2007, -0/+5It left me wondering: what are the limitations? Are nvidia and ATI actually working on hardware to do this? Why haven't they already done this?
Anyone have any idea what's actually happening on this front in the real world? - phlux, on 10/12/2007, -1/+16agreed - that whole article could have been said in 2 paragraphs.
The author is full of himself. Quoting himself mid article twice and plopping his lame picture in the middle.
but he hints at how worthless he is in the article when he says "tom focuses on hardware, some other guy on technology, I just sit around with my thumb up my ass and fill any article I write with lame ass fluff totally unrelated to the topic to meet my editorial word count quota"
No Digg on this lamer. - hackwrench, on 10/12/2007, -0/+1The picture is intended to go the the side, and the article is supposed to span two columns. When I resized the font, it wound up in the middle for me too, and the article was reduced to one column. Stupid layout engine.
- phlux, on 10/12/2007, -1/+2Ya i have my machine set to 1920x1200 so i need to increase the font dramatically to read things on it... but I need al lthe screen space - so I run a high res.
If only I could get my desktop raycasted - it might make it more optimized.
- merreborn, on 10/12/2007, -0/+5It left me wondering: what are the limitations? Are nvidia and ATI actually working on hardware to do this? Why haven't they already done this?
- bmdhacks, on 10/12/2007, -0/+8Just to add to the clarifications here.
Raytracing is the algorithm used in most 3D computer generated stills, and is considered one of the most photorealistic methods of 3D rendering. There are a number of raytracing packages such as Povray for creating 3D images and animations, and the technology has been around for decades.
This article is about realtime raytracing. The idea here is that realtime raytraced video games will be exceedingly more realistic than existing games that use many other lower-cost algorithms.
For some nice screenshots of what a raytraced image can look like, check out the Internet Ray Tracing Competition: http://www.irtc.org/ - SteelChicken, on 10/12/2007, -3/+0ray tracing has been around for a long time.
article title is inaccurate.
should be "real time ray tracing"
but then, even then its not new. - yeehawjared, on 10/12/2007, -2/+10check out this screen shot of a ray traced Boeing 747: warning: HUGE IMAGE
http://graphics.cs.uni-sb.de/Publications/2004/BoeingCover/BoeingCover.png- MyLogin, on 10/12/2007, -0/+3747s have four engines and quite a bit different fuselage--this is definitely not a 747.
Also, while I like seeing pics as much as anyone else, why would this pic be an especially good one to demonstrate raytracing? It has obvious problems with the geometry (i.e. the port aileron appears detached and there is something screwed up at the nose) and the an inapproprate texture is used on the model. - Kourgin, on 10/12/2007, -0/+1Holy mother of jusus kabuba.
Who has the time, money, and determination to model that entire thing? - kasurila, on 10/12/2007, -0/+1Apparently it's a Boeing 777. The CAD model is (probably) from Boeing.
- Boojum, on 10/12/2007, -0/+1It's a decent model because it has about 325 million triangles -- right down to the threads on the bolts. It's a huge amount of data to try to render interactively (10s of GB). No GPU today has even close to the amount of memory required to hold it all at once. We're starting to get to the point where it's not such a huge challenge for the RT-RT community any more.
As for the model and textures being messed up: I'm not sure why they've done that -- that's not part of the model as I've seen it. And the model as provided is not textured.
Regarding for who modeled it: that's based on real CAD data from Boeing engineers. (Albeit messed up a bit to deter reverse engineering.) - HappyScrappy, on 10/12/2007, -0/+2If someone raytraced that, they sure wasted their time. It contains no features that couldn't be rendered a zillion times faster with scanline rasterization. That model uses flat shaded polygons. Flat shaded polygons rander very quickly with scanline rasterization, but don't actually save you any appreciable time over more complex shadings when raytracing.
- MyLogin, on 10/12/2007, -0/+3747s have four engines and quite a bit different fuselage--this is definitely not a 747.
- fustanella, on 10/12/2007, -5/+1There was a forum on Compuserve that had raytracing over a decade ago. Now that's old school.
- kypen, on 10/12/2007, -0/+2I have a question: Would this eliminate the 'need' (really, usefulness) of AA and AF? Would they be used in conjunction with Raytracing? I don't pretend to know a lot about RT...
- TheG2, on 10/12/2007, -0/+1I believe that AA and AF attempt to mimic RT but I'm also not an expert in the area. So I think the simple answer to your question is probably a yes.
- kasurila, on 10/12/2007, -0/+0You'd still need AA, but it's a tad bit easier to achieve in raytracing (adaptive supersampling). AF can be used in raytracing as well, but AFAIK most raytracers use more ''specialized' methods that define the texture sampling rate on a per-sample basis.
- OrangeTide, on 10/12/2007, -0/+2They are orthogonal. You can have ray-tracing with aliasing artifacts, if you really want (looks ugly). AF is not as useful because you generally don't need to mipmap textures in ray-tracing, but real-time ray-tracing might take advantage of mip mapping and therefor may need AF.
really the different between RT and "normal" 3D is RT uses a global illumination model. Without global illumination ray tracing is not much different than ray casting. Your fancy high-end graphics card only does local illumination (it has fragment shaders, this should give you a clue)
with local illumination you have to do a lot of tweaking and hacks to make a scene match up and look nice. Shadows can be a fair bit of hackery to get the appearance correct. there are no real light reflections (only simulated ones) so you have to use ambient light, which doesn't look realistic unless you apply light maps on top of it. GPUs are amazing, but they are optimized for pushing pixels, not for simulating light physics.
with global illumination you need almost no artistic skill to render an extremely realistic scene. you could place a ball on a flat surface textured with a tilable tennis court setup a light source or two and let the natural reflections and everything else take care of them selves. using realistic lighting models yields realistic results with little human effort (but a great deal of computational effort). - Boojum, on 10/12/2007, -0/+5Hey there. Researcher in the RTRT field here.
To answer your question, yes, eventually, you'd probably be using AA and AF again, but most real-time ray tracers don't yet because it's fairly expensive to compute and we're mainly going for raw speed at this point. OrangeTide was correct in that they are orthogonal to ray tracing.
AA can generally be done in one of two ways in ray tracing: simply shoot more samples per pixel (and ideally use a decent reconstruction filter -- preferably not a box filter!) and/or compute what are called "ray differentials" and use those to estimate the rays footprint when doing texture mapping. The ray differentials give you the information you need to be able to do proper texture filtering with a mipmap or summed area map, etc.
Texture filtering like that though tends to be conservative in AA and so overdoes the filtering which leads to blurry looking image. AF is a method of trying to be a little smarter about to reduce the blurring. But it's just an extension to the texture filtering method of AA.
So, two methods. Super-sampling can never completely anti-alias an image -- even with more rays, you may still miss stuff. But it will at least partly anti-alias really fine (sub-pixel) geometric detail. Texture filtering can completely anti-alias the textures on a surface, but it does nothing to help with aliasing due to fine geometry. Both techniques can be used together (they're orthogonal), but the performance penalty will be even higher since you'll be not just shooting more samples or filtering, but having to filter more samples.
No real-time ray tracer that I'm aware of filters textures, though a couple can optionally super-sample with a box filter.
Oh, and OrangeTide: global illumination is optional in RT. Without, RT images tend to look a lot like GPU images. And you can also pre-compute the global illumination solution with RT and then render it with a GPU.
- kob0724, on 10/12/2007, -0/+1I wanna see this take off
- epatel, on 10/12/2007, -0/+2How about a silicon raytracer? http://www.artvps.com/
- fraggle35, on 10/12/2007, -2/+3Should carry a warning,
CAUTION WEB SITE MAY CAUSE BLINDNESS - yeehector, on 10/12/2007, -0/+1The problem with ray tracing on CPUs in games is that the bulk of the CPU is already tied up running game logic code. There just is very little CPU left to spend on raytracing.
- Tahiri, on 10/12/2007, -3/+2Coming soon? Nintendo claimed both the N64 and Cube were going to have it
- Tahiri, on 10/12/2007, -1/+2http://www.actsofgord.com/Proclamations/chapter02.html
Nintendo was telling us to wait for the Ultra 64 as it
could do "real-time ray tracing"
http://www.vgmuseum.com/systems/n64/
Ray-Tracing/sophisticated form of light tracing ability.
http://www.gamezero.com/team-0/articles/industry/wces_1995/wces03.html
All of the talk revolved around the Nintendo Ultra 64.
They hyped real time raytracing - GT35R, on 10/12/2007, -1/+3Well there you go Wii Fanboys, Nintendo hypes performance too.
- Tahiri, on 10/12/2007, -1/+2http://www.actsofgord.com/Proclamations/chapter02.html
- kasurila, on 10/12/2007, -0/+2Quake III raytraced: http://graphics.cs.uni-sb.de/~sidapohl/egoshooter/ should be a decent example of realtime raytracing in games. Only video available though...
- foxmajik, on 10/12/2007, -0/+2This guy writes articles like he's stuffing a turkey with words.
The article could have been summed up in three paragraphs or less.
By the end of the article I wanted to strangle that damn rabbit. - yeehector, on 10/12/2007, -0/+1Re: Quake III, a first person shooter is very different from a real time strategy game. In an RTS for example there could be hundreds of units performing expensive pathfind and collision avoidance on complex terrain. As it is, many thousands of rays are used by game AI and these are expensive in a dynamic environment. FPSes of the past have mostly static geometry which is amenable to ray tracing.
A lot of the ray bundling papers rely on expensive pre-processing to get their KD-trees just right using the Surface Area Heuristic. Newer papers have a variant that let you incrementally update the SAH for faster rebuilds but in a game like an RTS where almost all the units are in motion, the cost of building the acceleration structure on a per frame basis can be prohibitive. (More on that in the future on http://hectorgon.blogspot.com)- Boojum, on 10/12/2007, -0/+1There's always other, non-hierarchical approaches. There was a SIGGRAPH paper this year on the subject: have a look at "Ray Tracing Animated Scenes using Coherent Grid Traversal." The approach was to use a new packet-based algorithm for traversing grids, which are so simple they can be rebuilt from scratch in real time for simple enough objects.
The nice thing about games and real time ray tracing is that instancing geometry is dirt-cheap. If you've got individual acceleration structures for each unit, building a good, hierarchical top-level acceleration structure over them should be easily doable in real-time. - yeehector, on 10/12/2007, -0/+0Hi Boojum,
I don't have your contact info but I would like to continue discussion about using regular grids in games in the folllowing article I wrote:
http://hectorgon.blogspot.com/2006/08/regular-grids-vs-aabb-trees-in-games.html
Graphically include digg posters are also invited to contribute.
- Boojum, on 10/12/2007, -0/+1There's always other, non-hierarchical approaches. There was a SIGGRAPH paper this year on the subject: have a look at "Ray Tracing Animated Scenes using Coherent Grid Traversal." The approach was to use a new packet-based algorithm for traversing grids, which are so simple they can be rebuilt from scratch in real time for simple enough objects.
- Tiemmothi, on 10/12/2007, -0/+1And the first thing that came to my mind was REBOOT!!! hehe Ray was cool on the surfboard.
- ovni, on 10/12/2007, -0/+1I'd like to know what they mean by "interesting" at 450 million raysegs/s. Unless you're dealing with perfectly reflective surfaces, raytracing is an exponential problem, which can easily consume all processing power. Even non-realtime raytracing requires numerous cheats to achieve decent render times. I'm looking forward to seeing what they can pull off in a few years, and how this gets incorporated into non-realtime rendering engines.
- Boojum, on 10/12/2007, -0/+4Ray tracing doesn't have to be an exponential problem. You can flatten the ray tree by approaching it stochastically as a Markovian walk. Path tracers have been doing this for years, though the scintillation from the variance when animated would be annoying.
But I agree that 450M r/s is a little low. That leaves 11.4 rays per pixels per frame at 1280x1024 at 30fps. Not a whole lot. You'd only get maybe a little anti-aliasing, one bounce of reflection/refraction and a single hard-shadowed point light with standard Whitted-style ray tracing.
- Boojum, on 10/12/2007, -0/+4Ray tracing doesn't have to be an exponential problem. You can flatten the ray tree by approaching it stochastically as a Markovian walk. Path tracers have been doing this for years, though the scintillation from the variance when animated would be annoying.
- TheZorch, on 10/12/2007, -1/+1Raytracing is the next major step. We've taken Polygon style graphics about as far as they will likely go with current technology.
- Odwalla, on 10/12/2007, -0/+2You do realize that Raytracing still requires polygons and textures, right? It's not an entirely new paradigm. It's just a different lighting, reflection, refraction, etc.. model. You can implement raytracing as a fairly simple pixel/vertex shader.
- corser, on 10/12/2007, -0/+2You don't technically need polygons in ray tracing. Any function where you can determine the intersection point between the ray and the surface can be used (to various degrees of efficiency ) You can use the analytical function for a sphere instead of a tessellated approximation to the sphere, or you can ray trace a Bezier surface directly. Ray tracing has access to many more primitives than traditional 3d graphics. The memory requirements are much lower for these types of surface than the tessellated versions of them.
- Odwalla, on 10/12/2007, -0/+0>> It left me wondering: what are the limitations? Are nvidia and ATI actually working on
>> hardware to do this? Why haven't they already done this?
>
> Anyone have any idea what's actually happening on this front in the real world?
The safe bet is that neither company is researching this. Raytracing gives you one type of output, photorealism. That's great, but very very rigid. A programmable graphics pipeline is a much better all around solution as it gives the content creators the ability to change the look of the rendered output and can, with a large and growing body of programmatic approximations, do photorealism.
If raytracing was the one true way Pixar would never have created RenderMan twenty some odd years ago. They weren't worried about rendering speed so raytracing would've been the best solution, right? They created a programmatic shading language because they wanted artistic control over the final output, not just a rigid interpretation of reality. RenderMan gives them the ability to do all sorts of different art styles (look at any/all of the Pixar movies) and still lets them do photorealistic renders if they so choose.
The same is true in real-time rendering. A fast GPU with a programmable pipeline will be infinitely more useful than a fixed function raytracing pipeline. - Spazkake, on 10/12/2007, -0/+1http://upload.wikimedia.org/wikipedia/en/thumb/7/77/3chromeballs.png/800px-3chromeballs.png
- Odwalla, on 10/12/2007, -1/+1Nice image. Nothing special about it, though. It's got soft shadows, reflections, a fresnel term on the lighting to give some rim lighting to the balls, and a general anisotropy term to the balls.
None of that is anything that can't be done in a fairly basic shader program for DirectX 9 via HLSL or OpenGL via GLSL. - dasil003, on 10/12/2007, -0/+1Yeah, if you really wanna be impressed check out http://www.pbrt.org/gallery.php
That's a lot more than raytracing though, and most of those scenes probably took days to render at a high resolution. I highly recommend the book if you're interested in what really goes into photorealism (caustics, diffuse reflection, depth of field, subsurface scattering, etc. etc.)
- Odwalla, on 10/12/2007, -1/+1Nice image. Nothing special about it, though. It's got soft shadows, reflections, a fresnel term on the lighting to give some rim lighting to the balls, and a general anisotropy term to the balls.
- ChileanGoD, on 10/12/2007, -0/+1Wasnt there a research for a chip that was doing this?.. I remember seeing a demo of quake 2 with this real time whatever. It was some chip that running at very low speeds.. a couple of Mhz... did what other graphics chips did with alot of more power. I just cant remember if it was raytracing the "thing" it did.
- HappyScrappy, on 10/12/2007, -1/+1Actually, back when I went to SigGraph 1989, everyone was trying to move away from raytracing. Scanline rasterization (rendering per object) was relatively new and new techniques were being developed all the time to make it look better. It was necessary because scanline rasterization was so much faster than raytracing. Although machines have gotten so much faster now, we still need rasterization because the models rendered have been made so much more complex that it has eaten up all that extra CPU (watch Cars and Toy Story back to back). Given that raytracing time goes up O(N!) as the objects goes up and rasterization goes up only N (modulo reflective objects), I can't see how raytracing is going to make a comeback.
- Boojum, on 10/12/2007, -0/+2Um, I don't know where you got that O(N!) figure, but ray tracing is only O(log N), thanks to the acceleration structures. It's sub-linear. And the acceleration structures can be done in O(N log N). Ray tracing actually scales better than rasterization. That's why it's making a comeback.
And I hate to break it to you, but Cars actually used a fair bit of ray tracing. - sandwichpants, on 10/12/2007, -0/+2I don't see how raytracing needs to make a comeback as most of the light transfer and ambient occlusion and so many other techniques that have come into almost all major special effects work (even if it is baked in or done as separate passes to cut down on the tremendous memory problems that can occur with large datasets and raytracing). Basically, you're seeing ray tracing in one form or another darn near everywhere these days. I know I couldn't do my job without it (lighting cars for advertisements in a "photoreal" style with techniques that mimic actual vehicle photographers).
- HappyScrappy, on 10/12/2007, -0/+2It's O(N!) because you have to trace each ray until it reaches a light source or an object with no reflectivity. The ray could potentially hit every object in the scene before doing so. If it hits a partially reflective surface, it might even split and hit each object in the scene more than once. Yes, you might be able to use space division techniques (like octrees) to not have to search the ray against every object, but once the ray hits an object, it reflects off at a new angle and you have to clear your octrees and start searching again.
Hence, it is O(N!), since you can hit every object, even more than once. In practice, you never do, but big O notation is about the general case, not specific cases.
Cars doesn't use any raytracing, they use Renderman and only use scanline rasterization. Some of the objects have texture maps applied to them that approximate a view (reflection) of the world from their own location. This can require rendering the entire scene from the viewpoint of the object, which definitely increases the computational complexity of the scanline rasterization. In extreme cases, it can approach the complexity of raytracing the scene. But it still has massive advantages over raytracing, most notable the ability to use advanced texture antialiasing techniques that are difficult (at best) to implement with raytracing.
Anyway, although Renderman may borrow a lot of techniques from raytracing, it (the Pixar implementation) isn't a raytracer. - f00fbug, on 10/12/2007, -0/+0Actually there are a few things wrong with that.
One thing is that you do not have to clear your octrees per reflection, you build them once per session as octrees (and most other spatial partitioning forms) are not view dependent.
Also, about the reflectivity, raytracers don't bounce rays around the scene until they hit a light source, whenever a ray strikes an object it does what is called a "shadow test" where it shoots a ray from the light source to the object, if that ray is obstructed, then it is in shadow. Raytracers only behave in that manner for reflection (mirror-style) or refraction. Conventional raytracers also set a maximum depth, to avoid infinite loops.
Another technique, developed to render lighting interactions between surfaces called "Path Tracing" does something similar to that, in taking a spherical sample of N rays per pixel, each ray taking non-branching paths of depth D through the scene. Each point of the path is "connected" to the light source by again looking for obstructions. Path tracing, derived from Ray Tracing, can render unbiased global illumination, however at the cost of extreme computational intensity.
- Boojum, on 10/12/2007, -0/+2Um, I don't know where you got that O(N!) figure, but ray tracing is only O(log N), thanks to the acceleration structures. It's sub-linear. And the acceleration structures can be done in O(N log N). Ray tracing actually scales better than rasterization. That's why it's making a comeback.
- omnithought, on 10/12/2007, -1/+1Whew! For a second there I thought it had something to do with that annoying, no-talent *****, Rachael Ray!
- Blackfish, on 10/12/2007, -0/+1Yay...I loved watching my Amiga raytrace a single frame for 2 or 3 days... it was fun :)
- lowerlogic, on 10/12/2007, -0/+2I wonder where Linux will be in this inevitable real time raytracing revolution for gaming. Lots of questions come to mind on what the impact of this will be:
Will ATI and NVIDIA fully support linux with the new hardware to be designed for ultra fast raytracing?
Will Microsoft try to force real time ray tracing to be strictly DX10?
Will all the fancy effects in GL and DX be useless in the new framework for raytracing as raytracing will to all the shadows, reflection, refraction, etc?
Will visual effects be able to improve after real-time raytracing is standard?
Since all the fancy stuff like shadows, reflection, and refraction is natural for raytracing, instead of a competition for the best rastering methods and algorithms (OpenGL and DirectX), will there now only be a hardware competition for video cards? - milesh10, on 10/12/2007, -0/+0Articling on raytracing in this month's Scientific American: http://www.sciam.com/article.cfm?chanID=sa006&colID=1&articleID=000637F9-3815-14C0-AFE483414B7F4945 (subscription required). Some of the content is explained in ArsTechnica: http://arstechnica.com/news.ars/post/20060805-7430.html
Interesting tidbits: specialized raytracing processors running as slowly as 66mhz are doing almost-realtime raytracing. - neladua, on 10/12/2007, -0/+0"There it was, a parallel world that connected a lot of dots, some of which hadn't even been drawn yet. "
Connecting dots that haven't been drawn yet... That's kinda like just drawing then, isn't it?
As to his bit about ray tracing being "easy - rather than trying to approximate every single pixel's light value through myriad pipelines and shaders, you trace rays of light from eye to source using one physics calculation." Maybe it's just how I read it, but that sounds misleading to me - like somehow raytracing doesn't require us to approximate every single pixel's light value through a myriad of (steps). The steps are different, but the 'one big physics calculation' does have to be performed for every single pixel on the screen (and maybe for a multiple of that number, if there's to be antialiasing). The advantage being that each pixel can be calculated independently of its neighbours, so the algorithm benefits tremendously from a parallel architecture. - buckrogers1965, on 10/12/2007, -0/+2I have seen ray tracing algorithms loaded into the render pipelines of todays 3d graphic cards.
http://graphics.stanford.edu/papers/rtongfx/
I've also seen really cool audio processing being done in those same render pipelines.
The only strange thing about using these pipelines to process things other than vertex data still has to have data formated in vertex formats, which makes things a little confusing.
I really think that the future of computers is going to be processing streams of data through reprogrammable functional units whose inputs and outputs can be rewired on the fly to allow arbitrary processing.
The cell processor is basically where all CPU's are headed in the future. Once programmers figure out how to use these cores then we will see some amazing things coming out.
To program a game set up a core as AI, a core for physics, a core for modeling, and the rest of the cores to ray trace the output. There will be libraries for these functions that hide the details and extend themselves to support the number of available underlying cell processors. Basically just describe the kind of game you want, and let the library render it in as high a detail and frame rate as the hardware will support. This might even support having old games run with more detail and better graphics as the hardware improves.
The number of cores in these chips will double at the same rate that MHz had doubled over the years. Clock speeds will also continue to slowly increase in the future. It's a whole new ball game. - haelios, on 10/12/2007, -0/+1Anyone heard of the work done by the guys over at ART VPS (http://www.artvps.com/)? They have a hardware solution that specialises in ray tracing that is used in many (more than you think) product visual demos.
Some of their work (see the site) is really impressive.
Something similar but optimised more for speed than quality might work quite well... - wibblewibble, on 10/12/2007, -0/+0Why dont we just dump the game engines and build the game around CATIA :)
- rende, on 10/12/2007, -0/+0with all the fancy optimizations we're seen in the past with rasterizing methods, I'm sure they will be able to optimize raytracing (albeit loose some accuracy in the process). the games industry will fuel development...
- porkstacker, on 10/12/2007, -0/+1Wow, I can remember back in the early 1990s doing 640x480 renderings using a semi simple (low reflectivity recursion count, and 16 primary diffuse samples) raydiosity algorithm, and it took over a week to render the image.... now we're talking about real-time raytracing??? That is insane!
