Real-time ray-tracing on the PlayStation 3! [update 1]
This is one of those moments where the hardware does the talking and not the software. The video above contains some real-time ray-tracing, where three PS3's "render a model that is 75x more complex then those used in today's games. Ray-tracing is the rendering technique used by the film industry and is considered to complex for today's game systems."
What's more impressive about the video is that the RSX graphics chip wasn't even touched -- the cell processor is creating all of what you see, even calculating where shadows should land given a certain style of lighting. If one Cell SPE (hmm... see the update) can create what you see there, with calculated light and shadows run in real-time, imagine what eight of them could do in addition to the RSX graphics chip. We really need someone to start making the PS3 game now so it can be done in eight years or so.
[Update: Apparently Linux limits the use of SPE's to a total of 6, so the three PS3's "duct-taped together" are utilizing 6 SPE's, not one as incorrectly gleaned initially!]
[Thanks Truespeed and Colin!]









Reader Comments (Page 1 of 1)
WTangoFoxtrot @ Apr 5th 2007 10:56AM
That demo looked laggy and that would make sense, Sony failed to put graphics on the Cell processor which is why they had to approach Nvidia at the last minute to make the RSX. had the creators of this clip been able to do this using the PS3's RSX instead it would have been a lot better but i think the RSX is locked out in linux. also doing ray-tracing with 4x anti-aliasing is really nothing to write home about, your still gonna get a lot of jaggies.
still i have to say it looks like they put in a lot of work and hats off to them. it would be interesting to see proprietary graphics rendering clients ( Bryce, Maya, etx...) that allow network rendering using PS3's linux as a server farm.
someone should try out Blender on the PS3, its the linux opensource 3d modeling/rendering app and i think supports network rendering.
Colin @ Apr 5th 2007 11:09AM
It is to bad that how impressive this is is going to go over 99% of the heads out there (though surprisingly the first commenter seems to be in the 1%!)
Chris @ Apr 5th 2007 11:22AM
Does he have a hole in his teeth? He whistles when ever he talks like dan rather. Cool stuff tho
OrganicShadow @ Apr 5th 2007 7:39PM
"If one Cell SPE can create what you see there, with calculated light and shadows run in real-time, imagine what eight of them could do in addition to the RSX graphics chip."
Umm, 3 PS3's are needed to do what it shown there. Am I the only one that watched the video with sound? They said that one PS3 is kind of hosting the deal while the other two are doing the calculations, and that 5 SPE's total are doing the raytracing.
As much as I love my PS3 and I like to brag about it like a dad with a kid that made his first touchdown, I would have to argue that this is a bad example of PS3 doing raytracing. Warhawk does raytracing for the clouds and other effects but in a very basic and low-level way.
We may see PS3 do some of this awesome stuff later down the road, but not anytime soon by the looks of this video. They'll need to get the work of all 3 of those PS3's down onto ONE SPE.
Dolla Dolla @ Apr 5th 2007 11:24AM
Although impressive, this is being run on 3 PS3's. Nick, you make it sound like it's all running on a single SPE:
"If one Cell SPE can create what you see there, with calculated light and shadows run in real-time, imagine what eight of them could do in addition to the RSX graphics chip."
naruto007 @ Apr 5th 2007 6:49PM
could this be one of the projects for the IBM contest?
TSD @ Apr 5th 2007 11:36AM
They said they are using all 3 PS3s, so 18 SPEs combined, not just one to run the demo. Just a heads up.
Pretty awesome video, too bad we won't see ray-tracing in games till the PS5; though Crysis looks jaw-dropping without it.
George McFly @ Apr 5th 2007 12:04PM
@1
Nvidia stated back in 2003 that they were working with Sony to provide the Grafix chip for the PS3. I am sure if you look hard enough you could find something about it on the internet(s)...just might have to ask Dubya which internet is the best one.
Nvidia and Microsoft also said back in early 2003 that ATI would provide the grafix chip for project Xenon.
Nvidia had not made much $ from their colaboration with Microsoft on the original XBOX and thus being the main reason for jumping ship to Sony.
Please....not just @ #1....stop saying that the chip was a "last minute" desparation effort.
One of the most common complaints from developers about the PS2 was that it had no dedicated grafix chip.
That is the main reason that Sony teamed up with Nvidia
Got it now nuttchuggers?
tom @ Apr 5th 2007 1:59PM
Ray tracing basically means that you determine the color for every pixel by shooting a ray through it (mathmatically - not literally) when that ray hits an object in 3 space it determines the color of that object by the properties of the object itself and by bouncing that ray off of the object and repeating the process. Often times the ray will hit an object and create multiple new rays depending on the properties of the object. For example if the object is made of glass then a reflective ray will be generated as will a ray representing the light that is let through the glass. The process is recursive, meaning that you can keep bouncing rays off of objects till your hearts content. The process is very computationally expensive.
What we are seeing here is a single object rendered by ray tracing by 3 PS3s. This is a long way away from having a ray tracing engine which can handle complicated scenes in real time.
What is impressive about this is the potential. Since Cell processors are starting to be manufactured en masse, what is to stop SONY from creating a next-generation PS with 50 cells in its next box? We have effectively reached the limit of the computational power that we can achieve on a single processor - distributed computing is the way that we will achieve performance in the future.
JayD-1K @ Apr 6th 2007 8:19AM
i thought that when ever they use a set up like that, they us a three system set up? may be one tower, and two games sytems?
(sry trying to learn about all of this....join that 1%)
and from the sound of it, they don't use all 18. maybe about 6? i thought linux only used 2 of the spe's?
help me understand.
mccomber @ Apr 5th 2007 12:00PM
I personally think the most exciting thing about this is that the Cell is being used for graphics, which means, at least in my head, that in the future as developers become more familiar with the hardware and how to best utilize it, it could easily be used to further the graphics beyond what the RSX can produce on it's own. Or am I just talking crazy right now?
JayD-1K @ Apr 6th 2007 7:58AM
so this can be done on one PS3?! nice. all this and no RSX.
Maurice @ Apr 5th 2007 12:17PM
actually I remember reading a article in a games magazine that nvidia would produce the RSX for the PS3. This was back in 2001-2002 or something. Literally a few months after the PS2 was released.
But this really is amazing. Considering You get a total of 6 SPE's to work with (1 is disabled to improve yields of the cell and the other handles OS stuff).
I would really like to know the details of this project. raytracing a 720P picture with 4X multisampling is REALLY hardwork.
*respect to makers*
Noshino @ Apr 5th 2007 12:20PM
http://en.wikipedia.org/wiki/RSX_%27Reality_Synthesizer%27
"NVIDIA CEO Jen-Hsun Huang stated during Sony's pre-show press conference at E3 2005 that the RSX will be more powerful than two GeForce 6800 Ultra video cards combined."
Last minute?
Colin @ Apr 5th 2007 12:33PM
Google News has this fun thing called ARCHIVE. The following link brings you to articles from 2003 discussing NVIDIA and Sony working on the PS3.
http://news.google.com/archivesearch?q=nvidia+ps3&num=50&scoring=t&hl=en&sa=N&sugg=d&as_ldate=2003&as_hdate=2003&lnav=dt
Truespeed @ Apr 5th 2007 12:48PM
I think a lot of people commenting are missing the point of this demo. This is a demonstration of REAL TIME and INTERACTIVE ray tracing. Ray tracing is an incredible computationally demanding process that takes even the most powerful desktop systems minutes to render just a SINGLE frame. These PS3's are doing it in real time and interactively and without the use of the RSX chip at all.
Maurice @ Apr 5th 2007 1:01PM
Is it actually possible to use the GPU for raytracing? Most GPU's are build around ROP's and shaders. The shaders could help with raytracing but you would need a shader that could write directly to the memory which isn't possible at the moment.
Ati did use their shaders for their folding@home thing. Hopefully nvidia will be able to do the same on G70 hardware. If it could be done there is a chance we could see a realtime raytracer being used in games.
drivendriver @ Apr 5th 2007 5:00PM
About the number of SPE's in PS3, and the number of SPE's that can be used in Linux:
- Each PS3 has 8 physical SPE's.
- 1 of these 8 physical SPE's is always disabled. This is specific to PS3. It allows Sony to use Cell processors with only 7 working SPE's instead of throwing them away. Before anyone cries that Sony is cheap, note that graphics chip manufacturers use the same strategy to increase yields.
- 1 of the 7 active SPE's in PS3 is "isolated". It is reserved for security stuff and cannot be used, at least by non-licensed Linux developers. This is also specific to PS3. I have never used a Sony dev kit, so I don't know if licensed developers have a way of accessing the 7th SPE.
- This leaves 6 useable SPE's for each PS3.
- PS3 is not the only system using the Cell processor and, generally speaking, there is no limit on the number of SPE's that you can use in Linux. On an IBM QS20 server (which includes two Cell processors) you can use all 16 SPE's. If you have a cluster of N PS3's, you can use Nx6 SPE's.
SDF-1 @ Apr 5th 2007 2:38PM
@10
The Playstation 2 had the Graphics Synthesizer. You probably can't have known that since you spell graphics like a retard.
Question @ Apr 5th 2007 3:27PM
Does the PS3 actually have a gigabit Ethernet controller, if now how is it connected to the network.
Maurice @ Apr 5th 2007 6:24PM
The PS3 has a gigabit network connection
Me me @ Apr 5th 2007 6:39PM
PS3 is not doing the rendering. From http://gametomorrow.com/blog/index.php/2007/03/07/cell-power-at-gdc-2007/
Even though the PS3’s RSX is inaccessible under Linux the smart little system will reach out across the network and leverage multiple IBM QS20 blades to render the complex model, in real-time, with software based ray-tracing. Using IBM’s scalable iRT rendering technology, the PS3 is able to decompose each frame into manageable work regions and dynamically distribute them to blades or other PS3s for rendering.
Sorry to rain on everyone's Sony loving parade, but IBM Blade servers are doing the rendering while the PS3 feeds it data to render.
lucidcoder @ Apr 5th 2007 9:41PM
I just had to step in and clarify what's happening here. Each PS3 is using all 6 of its SPEs for this distributed application. The speaker says that on the two slave PS3s (the ones helping out with computation), they are using 5 of their 6 SPEs for the raytracing, and the last SPE for compressing the resultant data to send across the network. The master PS3 (the one actually connected to the TV) is using at least 4 of its SPEs to raytrace and one or two for data decompression. The RSX is actually involved (slightly), but only as a passthrough to the TV. The Cell chip of the master PS3 is compositing all of the ray samples into a final image, and then it tells the RSX to display the image.
All of this is damn impressive from both a hardware and software standpoint. The coordination of three Cell processors over a gigabit network to perform this massive computation is what the Broadband Engine is all about.
lucidcoder @ Apr 5th 2007 7:17PM
@21 -> You are citing a completely different demonstration. That GDC Cell demonstration did use IBM blades, and probably a lot more of them. But this video highlights what is possible with just three PS3s (only a high-polygon sports car).
androvsky @ Apr 5th 2007 8:18PM
@ 20: Read your link again. They are talking about the urban landscape being farmed out to multiple IBM blades (blades using Cell processors not much different from a ps3 actually), not the car in the video.
Yes, the ps3 is doing the rendering, OF THE CAR. Cell-based blades are doing the rendering of the urban landscape pictured in the linked article. The reason they used a ps3 as a front-end is probably because it has a hard drive, the blades typically don't... and it's a cheap way of getting a hard drive and another Cell to help out.
Gianni @ Apr 7th 2007 12:20PM
Me me stop saying nothing.
This real-time rendering is using 3 PS3 to make the rendering, with the same code that was used one month before to render on Blades.
No blades here:
http://gametomorrow.com/blog/index.php/2007/04/03/ps3-clusters-2/
weasel-bot @ Apr 5th 2007 10:01PM
@20 - Huh? You've quoted a link from the GDC 2007 demo. That has no bearing on this tech demo. I see no reason not to take the narration at face value - a ray tracing "farm" using 3 PS3s.
Or am I missing something here?
John @ Apr 5th 2007 10:20PM
It is impressive, for anyone who's followed ray-tracing. It's not coming to games anytime soon, it is so processor-intensive. However, I read recently that some companies have developed routines that decrease the time it takes to ray-trace... new algorithms. I'm thinking, hp, ibm, intel... but I can't find the article anywhere, and originally read it on google news. Even so, it's still too intensive for games. However, it could be surmised that workstations using ps3 could PRE-render (oh no, not the PR word!) some things frame by frame using ray-tracing, and have more speed than previously (such as in-game cut-scenes).
I remember in the early 90's using my Amiga for ray-tracing, and one very simple image using two light sources and 9 simple objects took 17 hours to render. This logo can be seen blurrily at the intro to this cheesy movie:
http://www.youtube.com/watch?v=wiwlGiOVzDI
Unfortunately, it doesn't do the shadows or that metal orb any justice, but that thing was gorgeous-- but it still took 17 hours.
Of course, the Amiga ran at only 7 MHz, and like the ps3 here it wasn't able to use it's custom graphics chips, except as output.
But even an average computer running at 3 Ghz can't ray-trace in real-time.
If you consider all the other things a game needs to do, we're not getting ray-tracing onto the ps3 unless we can somehow do a "Ray-Tracing@home" concept where people in London leave their ps3's on so that we can borrow their cell power and have live ray-tracing, and that would include some sort of predictive stuff as there would be delays involved. I can almost imagine it happening, for certain things. But then I'm almost certainly totally oblivious of what I'm talking about, too.
matjet @ Apr 6th 2007 12:47AM
can you say, lisp?
JayD-1K @ Apr 6th 2007 8:40AM
thanks drivenDriver
Andir3.0 @ Apr 6th 2007 8:49AM
This just tells me I need to get a dual Cell workstation and some spare time on my hands. :P
Maurice @ Apr 6th 2007 2:39PM
@25
You wrote your own raytracer? *respect*
I tried to do it a few weeks ago but my algebra is just too bad for it :/
MrAkai @ Apr 6th 2007 5:46PM
[Update: Apparently Linux limits the use of SPE's to a total of 6, so the three PS3's "duct-taped together" are utilizing 6 SPE's, not one as incorrectly gleaned initially!]
Is incorrect, EACH ps3 us using 6 SPEs, 5 to render, 1 to compress on the two background ones, and 4 to render, 1 to compress, and 1 to decompress on the "client" according to the narration.
So while running Linux on ONE PS3 is limited to 6 SPEs (just like the games are, since SPE7 is always doing GameOS tasks), there's no limit to the number of PS3s you use as long as your software supports it.
darthviper107 @ Apr 8th 2007 2:53AM
This isn't very impressive. It's just a car, and the shadows aren't that complex. Raytracing isn't all that amazing as it seems. I could render something like that on my computer in real-time if I wanted to. What takes more time is Global Illumination, where the light rays bounce around and create a realistic lighting effect.
And currently there aren't any rendering options that use both the processor and the graphics card, it's one or the other, and the graphics chip is usually slower.
And that's a poor anti-aliasing level.
Shinobi @ Apr 10th 2007 9:24AM
Just to put how awesome this in comparative terms:
I used to do ray tracing animations on my Amiga 500 back in the day.
It would take around 8 hours to render one frame, meaning a one second animation at 20 frames per second would take me around 7 days of continuous processing.
They're doing the same thing here in real-time.
I knew the PS3 was powerful, but this is something else.