Slashdot Mirror


3D Raytracing Chip Shown at CeBIT

An anonymous reader submits "As noted at heise.de Saarland University is showing a prototype of a 3D Raytracing Card at CeBIT2005. The FPGA is clocked at 90 MHz and is 3-5 times faster in raytracing then a Pentium4 CPU with 30 times more MHz. Besides game engines using raytracing there was a scene of a Boeing with 350 million polygons rendered in realtime."

76 of 391 comments (clear)

  1. Hardware encoding by BWJones · · Score: 5, Interesting

    FPGA is clocked at 90 MHz and is 3-5 times faster in raytracing then a Pentium4 CPU with 30 times more MHz.

    I am really not surprised at the performance as most anytime you build code into hardware, it is significantly faster. For instance, I used to have a Radius 4 DSP Photoshop accelerator card in my old 68030 based Mac IIci I bought in 1990 that would run Photoshop filters significantly faster than even my much later PowerPC based PowerMac 8500 purchased in 1996 with faster hard drives and more memory.

    The same sorts of benefits can be seen in vector math for optimizations that have been built into the G4 and G5 chips with Altivec.

    So, the question is: Can these guys get ATI or nVidia to buy their chip?

    --
    Visit Jonesblog and say hello.
    1. Re:Hardware encoding by master0ne · · Score: 2

      where is more's law when ya need it!

      --
      Noone writes jokes in base 13!
    2. Re:Hardware encoding by ghereheade · · Score: 5, Insightful

      As an FPGA, no. NVIDIA et al would find it to expensive. But if they can roll their Verilog/VHDL code into an ASIC without to much trouble, it might be cost effective enough to catch the gamer and CAD markets. And as a side benefit, an ASIC should potentially run even faster thus giving even more amazing performance. In fact, without knowing what these guys are up to, I'd bet that is in their business plan.

    3. Re:Hardware encoding by foobsr · · Score: 4, Informative

      So, the question is: Can these guys get ATI or nVidia to buy their chip?

      They are trying (surprise, surprise).

      From their site (already melted (yes, yes, mirrordot)): We are very much interested in evaluating new ways for computer games and therefore like to cooperate with the gaming industry. Thus if you are in such a position, please send us an email!

      CC.

      --
      TaijiQuan (Huang, 5 loosenings)
    4. Re:Hardware encoding by TLLOTS · · Score: 4, Informative

      It's doubtful that people from ATi or nVidia would have anything more than a casual interest in such a chip. More than anything with the way GPU's have been heading, this device would be more of a backwards step than a forwards one. GPU's these days are far more flexible than they used to be, and there's every indication that trend will only continue, allowing developers to do what they want with the hardware, rather than being told what they can do with it and having no real choice either way.

      So to sum up, don't expect to see vastly specialised GPU's for raytraycing hitting the market, at least not for the mainstream buyer. It's more likely that we'll see GPU's become more generalised to the point where raytracing can implemented on software. Will they be as fast as a purpose built chip like this? No, more than likely they won't. Will developers be able to do a whole lot more with them? Most definitely, and though that will come at a significant performance penalty for the moment, I think it's the right trade off to make as we should see far more creative uses of hardware put into practice, such as work being done already to use GPU's for something other than Graphics Processing.

    5. Re:Hardware encoding by moosesocks · · Score: 4, Interesting

      unlikely. the current generation of 3d cards are all polygon-pushers. Direct3D/OpenGL are all about polygons. virtually all raytracing is done by the CPU.

      Of course, raytracing produces beautiful results compared to the other methods of 3d graphics, but it is MUCH more expensive in terms of CPU cycles on today's CPUs and non-existant on graphics chips -- the first gfx chips were polygon-based because drawing polygons is indeed easier than raytracing even with specialized hardware. of course, specialized hardware definitely helps polygons as well. my 300mhz/whatever TNT2 can render a scene as fast as the fastest pentiums today can using software rendering.

      all of the big renderfarms rely exclusively on the CPU to do their animations. this could change all that. I for one look forward to seeing the potential this has.

      --
      -- If you try to fail and succeed, which have you done? - Uli's moose
    6. Re:Hardware encoding by mrgreen4242 · · Score: 4, Interesting

      I think there may be a market here. Say, for example, that the next generation of Unreal or Doom engine is designed around something like this. The SOFTWARE vendor could potentially, assuming they could get the cost down far enough, offer some sort of PCI or even better USB2/FW hardware accelerator bundled WITH the game.

      Think of it like this... Unreal 4 or whatever the next next gen will be decides to partner up with these guys. They develop an engine that runs at 60fps with amazing graphics, etc. You can buy the USB3 or FW1600 or whatever add-on needed for the game for, say, $50, or a bundle for $75 that has the addon and the game. The development cycle would be much easier as there is only one type of hardware to worry about, and the consumer would win as they could get the new hottness game without having to drop $300 on a new new video card.

      It could also serve as an amazingly effective copy protection scheme. Can't very well play the game without the required accelerator.

      Seems possible to me.

    7. Re:Hardware encoding by Anonymous Coward · · Score: 2, Insightful

      Ray tracing and the current OpenGL/Direct3D way of rendering images are completely different. With OpenGL the rendering system renders a polygon to the frame/z buffer and can pretty much forget about its existance from that point on, meaning reduced memory overheads. Raytracing on the other hand requires every object in the scene to be accessible to render any pixel, each pixel "ray" needs to be tested against all objects in the scene to see which one it hits. This also causes problems moving from the current way programs send polygons to OpenGL to the way required for Raytracers, as I said earlier OpenGL can render and forget, whereas a raytracer can't.

      Once those problems have somehow been solved (I don't like the thought of storing 100+million triangles+textures+material info in a video cards memory) then raytracing provides some nice benefits, like parallel rendering - each pixel can be rendered completely independant of any other pixel. Running at 1024x768 could possibly make use of 1024x768 raytracing chips running in parallel! The actual process of raytracing is fairly simple and very elegant (zero overdraw and reflections that can be implemented in a couple of lines of code on a suitable raytracing design), which to me means it is a better solution than all the hacks required to make OpenGL style rendering work. I'm not saying OpenGL is bad, in fact its amazing what can be done with current rendering techniques, but those techniques have come about largely as ways around the problems created by a sub-optimal process which was designed as a way to get around having to keep everything in memory.

    8. Re:Hardware encoding by Afrosheen · · Score: 2, Interesting

      Those days are over for the average computer user at home, but it's very alive for corporate users. Alot of CAD and design software requires keys on the workstation AND the server.

    9. Re:Hardware encoding by Rothron+the+Wise · · Score: 5, Insightful

      Of course, raytracing produces beautiful results compared to the other methods of 3d graphics, but it is MUCH more expensive in terms of CPU cycles on today's CPUs

      This may not be true for very long. The complexity of a scene in a traditional polygon renderer like nvidia's chips scales fairly linearly with the number of polygons in view. Not so with raytracers. They have hierarchical structures to test for which group of triagles a ray may intersect and scales more like O(n log n). They also render _only_ viewable pixels, while overdraw is a major hurdle for traditional 3d cards.

      What this means is that as scenes get increasingly more complex, there is a crossover point where ray-tracing will overtake traditional rendering, and dedicated raytracing hardware ensures that this happens sooner. If you add this to the fact that raytracing lets you have perfectly smooth non-polygonized objects, perfect reflections and other features not easilly replicated by traditional rendering you'll see the incentive.

      A case in point: prman, the renderer used by Pixar is a traditional polygon rasterizer, but Pixar has on occation used BMRT (A renderman compliant ray-tracer) for scenes that require ray-tracing for realism.

      Specifically a scene in A bug's life depicting a glass bottle filled with nuts was renedered using BMRT. Flexible and robust realistic reflection and refraction is solely in the domain of ray tracing. What you saw in Half Life was only cheap tricks which would fail miserably in less constrained scenes.

      --
      A witty .sig proves nothing
    10. Re:Hardware encoding by RichardX · · Score: 2, Interesting

      The thing with dongles is they're expensive, they're a pain in the arse for users, and they still don't stop a determined cracker.

      At the end of the day, there comes a point where the software checks it's key/dongle/word from the manual/price of fishcakes in japan and asks itself "So, am I allowed to run?" and all you need to do is ensure the answer to that is always "Yes!"

      --
      Curiosity was framed. Ignorance killed the cat.
    11. Re:Hardware encoding by orasio · · Score: 2, Interesting

      unlikely. the current generation of 3d cards are all polygon-pushers. Direct3D/OpenGL are all about polygons. virtually all raytracing is done by the CPU.

      Are not just polygon pushers since a long time now. You should watch Doom3, maybe.

      For example, with nvidia shaders 2.0, in a nvidia 5900, there's some people who built a photon mapping kind-of-realtime renderer. I'm sure with the new cards, it could be actually realtime.

      For your information, ray tracing is far, far from providing the best results, party because of its failure to represent complex diffuse-specular interactions (caustics being the most visible difference).

      Photon mapping is veeeery slow, but comprises two phases, so it /could/ be provided half baked for games, with the 3d card performing the last phase.

    12. Re:Hardware encoding by Hortensia+Patel · · Score: 4, Informative

      They have hierarchical structures to test for which group of triagles a ray may intersect and scales more like O(n log n).

      I assume you're talking about kd-trees... these do indeed offer very nice performance characteristics, but they're designed for static geometry. Efficient raytracing for dynamic geometry (moving or deforming objects) is AFAIK still far from "solved".

      If you add this to the fact that raytracing lets you have perfectly smooth non-polygonized objects

      and take away the fact that they don't particularly like the arbitrary triangle meshes that make up the vast majority of real datasets...

      Flexible and robust realistic reflection and refraction

      Yes, "Flexible and robust" is the killer. And not just for refraction/reflection; there's still no fully-general, clean, robust method of shadowing for rasterizers, and it's not for want of trying. Radiosity is a joke. Attempts to get realism out of current rasterization approaches are bodges piled on kludges piled on hacks. It became clear some time ago that the technology was heading up a dead end. Of course, so much has been invested in making that dead-end fast that it's going to be hard to take the performance hit of moving to a better but less optimized approach.

      I suspect we'll eventually end up with a hybrid, rather like current deferred-shading techniques. It'll be interesting to watch it all pan out.

    13. Re:Hardware encoding by daVinci1980 · · Score: 2, Interesting

      There's a few pieces of information here that you're missing, I figured I'd drop in my $0.02.

      while overdraw is a major hurdle for traditional 3d cards.
      Not lately (as of geForce5K+). There are two very tried-and-true methods of getting around this. One is to lay down a depth-only pass first, which allows the hardware to render at ~2x the normal polygon throughput (which is pretty much infinite at this point anyways), and then reject the hidden color pixels *before shading ever occurs*. Also, there is *a staggering* amount of area devoted to doing z rejection in the most efficient manner possible. A rough front-to-back sort of all non alpha-blended objects will generally result in very good performance in terms of z-complexity. Overdraw is very rarely a problem on modern hardware, or at least it's not a problem that developers cannot address.

      Flexible and robust realistic reflection and refraction is solely in the domain of ray tracing
      Only in your limited view of how to perform reflection / refraction / diffraction effects. There are actually quite effective techniques that allow someone to perform fairly accurate reflections and refractions through an arbitrary object at an arbitrary location. It's all about cube-map lookups and scene management.

      Plus you're missing the very large problem with raytracing. Whereas typical 3-D rendering techniques are marginally dependent on viewport size (depending on their specific data set), raytracing is *completely* bound by the number of pixels that have to be displayed. 640x480 is half as bad as 800x600. 1600x1200 is four times worse then that. Anti-aliasing is *4 times* worse then that. Whereas going from 1024x768 to 1600x1200 with 4xAA in a traditional rendering platform is dependent on the data set, in terms of raytracing the problem is *automatically* 10 times harder on raytracing, EVEN IF YOUR SCENE IS EMPTY.

      Yikes.

      --
      I currently have no clever signature witicism to add here.
  2. Whoa, 90 MHz?? by CypherXero · · Score: 3, Funny

    For a second there, I thought I hit my head, and I had gone back to the early 90's!

  3. meh by Anonymous Coward · · Score: 4, Funny

    In other news The Miskatonic University is showing a prototype of a 3D Raytracing Card at CeBIT2005.

    The FPGA is clocked at 666 MHz and is 3.5 billion times faster in raytracing then a 80486 CPU.

    Besides game engines using raytracing there was a scene of Cthulhu awakening in 350 trillion polygons rendered in realtime.

    i.e. Vaporware

    1. Re:meh by YOU+LIKEWISE+FAIL+IT · · Score: 3, Funny

      The big limitation is that it only renders non-euclidian geometry.

      --
      One god, one market, one truth, one consumer.
    2. Re:meh by SilentChris · · Score: 2, Funny

      Better than the model that only uses imaginary numbers.

    3. Re:meh by Mancat · · Score: 2, Funny

      Why are you so mad at the world?

      --
      hello dear sirs my name is jamesh i are india (bihar) can u guide me install red had linux 9?
  4. Just annonced by Prophetic_Truth · · Score: 5, Funny

    3D Realms upon learning of this new technology has decided to push back "Duke Nukem Forver" until the engine rewrite is completed.

    --
    time is a perception of a being's consciousness
    time is your 6th sense, the wierd ones are 7+
    1. Re:Just annonced by moeffju · · Score: 2, Funny

      You misplaced your quotes. It should read:

      3DRealms, upon learning of this new technology, have decided to push back "Duke Nukem" forever.

      --
      follow me on Twitter: http://twitter.com/moeffju
  5. What I would like to see by narcolepticjim · · Score: 5, Funny

    Is the Beowulf movie rendered with a cluster of these.

  6. oh yeah by lycium · · Score: 3, Interesting

    ray tracing will *so* usher in a new era of realtime graphics when we can do something like 10-50m intersections per second.

    it's amazing to me that nvidia have ignored this up until now, their existing simd architecture and memory subsystems can be easily adapted...

    all we need now is consumer push!

    1. Re:oh yeah by forkazoo · · Score: 4, Interesting

      It's not amazing at all. When nVidia started making 3D accelerators, OpenGL was a mature, common API. Direct X was gaining traction. DCC and game programmers were familiar with the immediate mode API's, and were making programs that used them.

      By making a card that rendered in immediate mode, nVidia had, ya know, a market. If they created a raytracing card, they would have needed to invent a new API to run it. They would have been the only ones with a card that used the API. Because they would have had a very small installed base, nobody would have written programs to take advantage of the API. Other companies have made raytracing accelerators. This isn't new. Most of them have not done incredibly well because there is so little actual use for the product.

      Think of it this way... How many programs have you seen written for the 3DFX glide API? So, if you are one of the people who still has a glide card, but it was designed so that it couldn't do OpenGL becuase it used completely different technology, how useful would it be to you?

      Personally, I'd love a card like that, if it was well supported by Lightwave, and had a vibrant developer community, and multiple vendors making cards for the raytracing API, and I was sure it wouldn't disappear soon.

    2. Re:oh yeah by Spy+Hunter · · Score: 2, Interesting
      Bah. Raytracing is not required for good graphics. Pixar's Photorealistic RenderMan didn't even have raytracing until version 11, which came out *after* Monsters, Inc.

      Raytracers can easily do hard shadows, reflection, refraction, and order-independent transparency. Today's rasterizers can do almost all that too: hard shadows (stencil shadows), and "good enough" reflections and refractions (using environment maps and shaders). Order-independent transparency is a tough one; it can be kludged using shaders, but it is often better simply to work around it.

      Realtime raytracing is a dead end, because all of the techniques that make offline raytraced images good (soft shadows, subsurface scattering, caustics, global illumination, etc) are too slow to implement in a real time raytracer. Rasterizing renderers require hacks to simulate many things that raytracing does more naturally, but those hacks run tens if not thousands of times faster than their more physically accurate raytraced equivalents. What those hacks lose in accuracy they gain back in speed, essentially producing more image quality per unit time. And in real-time graphics, time is the most important thing.

      --
      main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
    3. Re:oh yeah by Buzzard2501 · · Score: 2, Informative
      Raytracing is not required for good graphics. Pixar's Photorealistic RenderMan didn't even have raytracing until version 11, which came out *after* Monsters, Inc.
      IIRC, Pixar previously used BMRT (which supported raytracing) along with PRMAN to generate some of the scenes.
      --
      Real programmers don't comment their code. It was hard to write, it should be hard to understand.
  7. Impossible! by menace3society · · Score: 5, Funny
    The FPGA is clocked at 90 MHz and is 3-5 times faster in raytracing then a Pentium4 CPU with 30 times more MHz.

    That's ridiculous. Everyone on slashdot surely knows by now that the only reliable way to compare processor speeds across architecures is to compare clock speed!

    1. Re:Impossible! by ruoho · · Score: 2

      How about the size? How many miniMacs? Furthermore, I'd like to know how many songs it can hold..

  8. Can someone setup a torrent by Anonymous Coward · · Score: 2, Informative

    of the avi clips!!!

    1. Re:Can someone setup a torrent by synthparadox · · Score: 2, Interesting

      http://owntracker.com/synth/index.php

      Torrent of low quality up, others will come as they finish downloading.

  9. Open FPGA? by Doc+Ruby · · Score: 2, Insightful

    Is the SU driver open source? Because it would be fun to see people hacking it to send general purpose netlists to the FPGA, and harnessing it for other HW-accelerated tasks. Maybe loading up all the PCI slots with those boards, pooling the GFLOPS, and tapping them for graphics when needed - leaving the rest for computation.

    --

    --
    make install -not war

    1. Re:Open FPGA? by harrkev · · Score: 2, Insightful

      And if every PC since 1990 has a FPGA in it, we would be stuck with backward-compatability problems. "I have the new Vertex 2 Pro. Too bad it can't run my game, which requires an original Vertex."

      This is a major problem. A modern processor can abstract away many of the complexities of its design. The ISA just has to run, and the processor can handle the details of how this happens. With an FPGA, you are down-n-dirty with the hardware. Any architectural changes have an major impact on how you handle the device.

      If you want software to take advantage of a FPGA, then you have to have a standard. Let's assume that an FPGA is chosen as the "standard." Here are the consequences:

      1) You now have one vendor -- who can arbitrarily set their own prices. FPGAs have a lot of IP in them, so one manufacturer cannot simply copy another's design.

      2) Upgrading would be very difficult, because you would loose backwards-compatability.

      3) How do you handle multi-tasking? What if you have two programs running - both of which need the FPGA?

      4) Bad code. It is easy to imagine a scan chain sending one "one" followed by a bunch of zeros. Then, tie all of the drivers to the same global net. Every clock tick = a blown transistor! Fun task for a virus writer!

      I am not saying that having an FPGA is a bad idea, but you need to think long and hard before you do this. You would need some sort of API for the FPGA. Obviously, hard-coding for one FPGA will not work. We need flexibility. So, we need to be able to compile for an EDIF, with the ability to use cores. And going through this process once can take HOURS on even the fastest of machines. "Thank you for installing Photoshop 2008. We are now going to prepare the FPGA programming. Please wait 12 hours." This would only need to be done once per machine, but would still be a pain in the rear.

      I can see that the FPGA is needed in certain circumstances, but I doubt that it is a good general-purpose device.

      --
      "-1 Troll" is the apparently the same as "-1 I disagree with you."
  10. Sweet deal! by dauthur · · Score: 2, Informative

    350m polygons is god damned amazing. I'm sure the kids at Havok will find good ways to implement this, and I'm sure Abit, Biostar, etc will too. I wonder how long it will take for them to make a PCI card you can put in as a graphics-card-booster... or maybe even USB? This technology is extremely exciting. It would definitely lessen the load off of g-cards, and drastically improve the framerate.

    1. Re:Sweet deal! by forkazoo · · Score: 4, Interesting

      In general, yes, lights will be one limiting factor. I'm going to blabber a bit about how complexity grows in raytracing when you move past very simple scenes... Then get to your comment about Doom3.

      In the simplest algorithm, assume only point lights, no spots or area lights. Basically, when you are shading a point, so you can draw it on screen, you trace a ray from that point to each light. (You may limit the lights that are at a distance beyond some cutoff, doesn't matter.) If the ray hits some geometry on the way to the light, it is in shadow for that light.

      So, without reflections, or anything cool, just pointlights, and shadows, you will trace
      S+L*S rays

      where S is the number of scene samples (pixels) that you are shading, and L is the number of lights. The lone S comes from all the rays you trace from the eye point out into the scene in order to figure out which point is visible at which pixel.

      If you have lots of reflections and refractions, that's what can really start to slow things down. At your point being shaded, you have to trace a ray each for the reflection, and for the refraction. If the reflection ray then hits another surface which is reflective, you trace another ray to get the reflected reflection, same with refraction. So, in theory, each sample point can spawn two new rays in addition to the rays for shadow tests, and each of those two new rays can result in two more new rays, etc. You basically have to set some limit to how many times you let it recurse, because two parallel mirror planes would take forever to render accurately.

      But wait, there's more! (it slices, it dices!) Everything really starts to explode when you throw out soft shadows and hard reflections. If you want everything to be nice and soft and smooth, you basically have to trace lots of rays and average the results. So, instead of each recursion in a shiny refractive scene spawning two more rays, it may need to spawn 20 or 200. Assume a max recursion of 5, and 20 rays being generated by each shading point.
      First point traces twenty rays.
      Each of those 20 trace 20 for 400.
      Each of those 400 trace 20 for 8000
      160,000
      3,200,000 shading sample points for the fifth level of recursion, each of which will need to trace rays for each of the lights which might not be casting a shadow on it, possibly many more for soft shadows.

      So, 3.2 million times Lights times soft_shadow_samples times pixels times samples_per_pixel (and believe me, 10 samples each for the reflection and refraction is not very smooth in my experience!)

      A veritable explosion of rays, as I am sure you see. I won't even begin to discuss radiosity, because that's actually slow, and computationally intensive. :)

      Now, we get to the subject of Doom3... I'm not sure this hardware would actually be that well suited to Doom3. You know all the lovely shading effects, with detailed highlights and bump mapping? They pretty much define the Doom3 Experience. That all comes from a technology called programmable shading. Basically, while your GPU is rendering the polygons in the game, it runs a tiny little program that determines the precise shade of black for each and every pixel.

      A raytracing accelerator takes advantage of the fact that ray hit-testing is a very repetative chore which can be done in hardware very efficiently.

      But, as you can see, most of the really interesting rays in a scene are the "secondary rays." The rays that are for reflection and refraction and lighting and such. So, suppose this card calculates a ray, and figures out the point that needs to be shaded. Because the accelerator is all in hardware, for programmable shading like Doom3, it would need to hand-off back to the host processor, which would run the shader code, which would ask for 20 more rays, etc. So, with a fully fixed function raytracer, there would either be annoying limits on what the scene could look like, or you would constantly be going back and forth be

  11. Performance by MatthewNewberg · · Score: 5, Insightful

    On the Ray Traced Quake 3 Website it says that runs faster with more computers (about 20 fps@36 GHz in 512x512 with 4xFSAA)

    Assuming that is correct,a normal chip can render Ray Traced Quake 3 like graphics at 2 to 3 fps on a 4GHZ machine which means the Ray Tracing Chip could do it at 6 to 9 fps. This might be real-time for alot of research, but when it comes to games anything less then 15 fps is a joke. I'll be interested when they can hit 30 fps, with more graphics complexity then Quake 3.

    1. Re:Performance by Anonymous Coward · · Score: 2, Informative

      Dude, way to miss the point entirely. First of all, this is a prototype, not a production model. Second, according to TFA, "Nvidia's GeForce 5900FX has 50-times more floating point power and on average more than 100-times more memory bandwidth than required by the prototype." In other words, imagine what this baby can do when backed up by today's graphics technology.

    2. Re:Performance by timeOday · · Score: 2, Insightful

      It seems like raytracing would be ridiculously easy to run in parallel. If they're only 90 mhz chips, they probably don't take much power anyways. They should slap 8 of them on a board.

  12. FINALLY by Anonymous Coward · · Score: 4, Interesting

    Hopefully, this will help FPGAs to get some much-needed exposure. Their potential is obvious to me, as I think it must be to anyone who's been shown some of what they can do. (For example, this wiki article mentions that current FPGAs can achieve speedups of 100-1000 times over RISC CPUs in many applications.)

    Every time I hear about the latest beast of a GPU from ATI or NVidia, I can't help thinking what a waste all those transistors are for anything other than gaming, and maybe a couple other applications. We should be putting those resources into an array of runtime-programmable FPGAs! Your computer could reconfigure itself at the hardware level for specific tasks -- one moment a dedicated game console, the next a scientific workstation, etc.

    Lest I get too breathless here, does anyone care to inject some reality into this? Are there technological reasons why FPGAs haven't burst into the mainstream yet, or is it something else? Have I misunderstood their potential entirely?

    1. Re:FINALLY by captain+igor · · Score: 2, Informative

      I'm actually on a reconfigurable computing project, which focuses on this, the simple fact is that right now we don't have good methods for generating HDL for a given task, as well as lacking the necessary tools to properly swap tasks into/out of an fpga while maintaining a reasonable communication speed to them. It's being worked on, but it will take time to develop the tools, and even longer before software makers start using them.

    2. Re:FINALLY by Sycraft-fu · · Score: 2, Informative

      One interesting place I foudn them used is high end Cisco hardware. The 6500 series layer-3 switches feautre Altera FPGAs on many of their boards, as well as ASICs and general prupose CPUs. I've never been able to find out why, if it's just cheaper than an ASIC, given the (relitively) low volume of production or if they actually update what they do in the field with new firmware releases.

    3. Re:FINALLY by TDO48 · · Score: 2, Informative

      Not true about the small number of rewrite cycles: large FPGAs (e.g. Virtex, Apex) are SRAM-based: their configuration is stored in a memory and you can reprogram it as many times as you want. Smaller devices (e.g. CPLDs) or configuration controllers do have flash, and them have limited reprogramming capabilities.

  13. high quality animation by poopdeville · · Score: 3, Interesting

    This is great! I do work with an animation company, and a couple of these bad boys would seriously speed up our render times. The last video our lead artist did had to be rendered below 720x480 because we didn't have six months or a cluster of G5's. We've also been looking at buying time on IBM's supercomputers, but this might end up being cheaper in the long run.

    --
    After all, I am strangely colored.
  14. Saarland... by Goonie · · Score: 3, Interesting
    It's really interesting to see that this comes from the University of Saarland. Saarland is a rather out of the way part of Germany, near the border with France and Luxembourg.

    It's rather pretty in a European countryside kind of way - hills with wine grapes on them, big rivers with boats cruising up and down, and big vegetable gardens everywhere (Germans sure love their vegetable patches) - though I doubt it's the kind of place too many international tourists visit. Not the kind of place you'd expect cutting-edge graphics research either; but then, you find all manner of interesting research in all manner of places. Even Melbourne, Australia :)

    Hi to any residents of Saarland reading this - are they holding the German round of the World Rally Championship there this year?

    --

    Any sufficiently advanced technology is indistinguishable from a rigged demo
    --Andy Finkel (J. Klass?)
  15. The "Q3RT" screenshots... by Lisandro · · Score: 3, Insightful

    ... are impressive (here and here, for example). They don't look like much and might appear a bit dull but the ammount of details in reflections and such is surprising.
    Call me a kid, but this amazing technology appears and all i can think is how cool would it be to see enemies coming behind you reflected in a sphere...

    Too bad there's no video - but then again, the poor server is doing bad enough as it is.

  16. How, Exactly? by Musc · · Score: 2, Interesting

    Would you care to enlighten me as to what exactly ray tracing brings to the table, above and beyond what we already get from a state of the art GPU?

    Only thing I can think of is that ray tracing would
    allow us to replace complicated hacks for shadows
    and reflections with a more natural implementation, but I can't imagine how this will usher in a new era of gaming.

    --
    Hamsters are at least as feathery as penguins. HamLix
    1. Re:How, Exactly? by The+boojum · · Score: 2, Interesting

      How about non-tesselated geometry? You can have high detail curved surfaces without turning everything into a dense polygon mesh. That in turn lowers the memory and rendering requirements so you can apply those resources to proper detail instead.

      Or how about global illumination lighting effects? Truely emissive surfaces and area lights? As a hobbyist map maker, I would kill to have an engine that supported these; imagine being able to just tag the sky as an emmisive surface and have the entire level lit up and shadowed accordingly without having to painstakingly add bounce lights everywhere and tune them till they looked correct.

      Another good argument that I've heard is based on the complexity of the algorithms. GPU style rendering is inherently order O(n) on the number of items in the scene. While ray-tracing has a high constant factor, a good ray tracing acceleration structure makes the problem O(log n) -- as the scene grows the time to ray trace gets closer to the time to GPU render it. Admittely you can do much the same with the GPU: there's a lot of stuff like BSP trees and bounding volume heirarchies and frustrum culling that you can do to speed it up, but then you're already applying ray-tracing techniques anyway, and now you're really talking about something that's more of a hybrid with the CPU just doing the ray-tracing part.

    2. Re:How, Exactly? by Sycraft-fu · · Score: 2, Interesting

      Actually, raytraced shadows look like crap, at least in the classical sense. Classical raytracing is done by tracing rays back from the pixels to light sources. Works fairly well, but you find the images don't look right. There's a number of things that are generally problematic but the shadow one is that shadows are hard.

      You have to use a different kind of rendering to get soft shadows and proer reflection. Radiosity is a popular method. Basically you treat all objects as light sources, after a fashion. Light hits an object, you calculate the relfections from it, then from that and so on. Gives nice, soft, fairly realistic results... But of course is an ironclad bitch in terms of processing time. It's an iterative process, you have to do multiple reflection passes, and the more you do, the more realistic it looks.

      Really, when you get down to it, ray tracing isn't really that exciting anymore. As you note, GPUs do a better job now with the tools they have. It is, perhaps, less correct in the mathematical sense and more of a "hack" but that doesn't matter. It's all about making things the most realistic/pretty the fastest for the least cost.

      So I agree, neat technology, and probably not useless, but I'm not seeing it for videogames.

    3. Re:How, Exactly? by SammyTheSnake · · Score: 2

      Actually, raytraced shadows look like crap, at least in the classical sense. Classical raytracing is done by tracing rays back from the pixels to light sources.

      [...]

      Radiosity is a popular method.

      Another method used more recently is called photon mapping, in which the illumination of the scene is calculated by ray-tracing from the light source to the various surfaces, via reflection / refraction etc.

      It's kinda like the next step on from radiosity calculation (in both efficacy and how much of a ball-ache it is on the processor!) but the single greatest effect is that you can calculate accurate caustics (ever see the strange light patterns cast by a glass of water on the desk? or the wavy patterns on the bottom of a pool?)

      The results can be truly stunning. Incidentally, the round silvery that turns up as the 16th hit from where I'm searching from is exactly the same as the one I bought from ikea several years ago...

      Cheers & God bless
      Sam "SammyTheSnake" Penny

  17. Re:A Boeing? by The+boojum · · Score: 3, Informative

    There's a standard model of a Boeing aircraft (777, IIRC) that's used as a something of a test scene in the computer graphics community. It's about 350M triangles (everything down to nuts and bolts, but modified so as not to give any trade secrets away) and over 4GB of data, so it gets used a lot for testing how the performance of an algorithm scales to large datasets.

  18. Price.. and compile time by xtal · · Score: 4, Informative

    Unfortunately the price is an order of magnitude (or two.. or three) too high for FPGAs to really be a consumer tech. The issue I think is an ASIC costs so little in volume, rather than spend all the money on an FPGA design that might be obsoleted next year anyway - a vendor is more likely to commit a design to silicon and then sell that.

    There's also the speed issue - I've spent DAYS of CPU time to get a design syntheized from VHDL for a moderately complicated IC built up from available cores.

    Factor in optimizing floorplans and the like, and you're talking about serious time commitments to optimize the hardware.

    It works; I've been paid to do it in the past; but it's not something I can see in the consumer market for the time being.

    An exciting hybrid is intersting though, putting silicon CPU cores on the same die with an FPGA. They've been around for awhile, and I haven't done any FPGA projects in ~18 months - but I haven't seen any real movement outside of areas where FPGAs are already popular.

    See Open Cores (no, not sores.. :-) ) if you're interested in this - there is open source hardware out there, some really good designs at that.

    --
    ..don't panic
  19. Research not meant to be immediately practical by Goonie · · Score: 2, Insightful
    Look, if it was production-ready, it wouldn't be research.

    While it's certainly not enough to start playing games, it's a heck of a lot closer than I thought was possible. And there's a lot of tweaking that could be done to speed the process up with present technology. An FPGA is the integrated circuit equivalent of a stack of lego. It makes it possible to build custom hardware without forking out for a custom chip; they are however much slower than such a custom-built. I expect if Nvidia decided to make their next-generation chip a raytracer they could get your 30fps. They won't do that for a while yet though - 512x512 is a long way off the resolution gamers currently play in.

    But this is interesting, even though it's not practical yet, because it puts the idea on the table that, in the not too distant future, real-time raytracing might well be a possibility. From here, the big graphics-chip makers can start seriously thinking about it, and, maybe about 5 years from now the first hardware raytracers will begin to appear in 3D graphics cards.

    --

    Any sufficiently advanced technology is indistinguishable from a rigged demo
    --Andy Finkel (J. Klass?)
  20. Do you know what an FPGA is? by fireboy1919 · · Score: 5, Interesting

    You're to be describing this as if it's some kind of custom hardware with many limitations.

    This could not be further from the truth. FPGAs are more flexible than any of their counterparts. FPGA stands for "field programmable gate array," and are basically a matrix of memory elements (at the very least latches) connected to gates that configured to be a particular type of gate via a ROM or something similar.

    It's kind of like a chip emulator written in hardware. You may be wondering why we don't use these all the time. First, they're a lot more expensive, bigger, and more power consuming than their one-chip cousins. Second (as if that isn't really enough), they're usually 2-5 times slower than the same logic on a custom chip.

    So the big question is why should we use them? What improvements can they give that normal chips can't?

    The big gain is when you want to optimize the hardware for a specific application and be able to change it. These were used in high end digital video cards to be able to handle whatever kind of signal is actually output by whatever kind of camera you've got (I can only assume this is still the case, but I stopped keeping track about 2000).

    I don't know if the people who wrote this thing take advantage of this idea within their design, but it's a possibility.

    --
    Mod me down and I will become more powerful than you can possibly imagine!
    1. Re:Do you know what an FPGA is? by Mortlath · · Score: 2, Insightful
      Hmm, I assumed that they had used a FPGA because it was only their prototype board.

      From what I've learned in one of my digitial system design courses from college, ASIC have an upfront production cost of $1,000,000 to $2,000,000 and a small unit price, while FPGAs have a much lower fixed cost (~ $10/unit).

      So, I imagine they will manufacturer ASIC chips when they get a big sponser, unless they are using the FPGAs dynamic abilities...

    2. Re:Do you know what an FPGA is? by Montag2k · · Score: 2, Informative

      Another reason that people don't use FPGAs that much in consumer applications is the security of the IP on the FPGA. They are loaded on power-on with a PROM chip and it is a somewhat trivial task to read the entire contents of the FPGA at power-on. This would be a nightmare for companies like Nvidia and ATI, who value their custom hardware.

      Fortunately, there are some companies that are incorporating flash memory on to their FPGAs instead of using the standard SRAM. The problem is that flash-based FPGAs are usually a few generations behind SRAM-based FPGAs in terms of die size (and henceforth storage space and speed).

      I think that as flash-based securable FPGAs become more popular, cheaper, and less power consuming, we'll start to see cards for the computer that come with completely configurable hardware.

      -Montag

  21. What kind of FPGA? by brandido · · Score: 2, Interesting

    Working with FPGAs, I was quite curious to find out what kind of FPGA they are using - both Xilinx and Altera have some advanced hard functions (such as Multiply Accumulate functions, Block RAM, etc) that seem like they could have a huge impact on the abilities of this board. Unfortunately, after browsing through the links, I had no luck in finding any information about what FPGA they are using. Was anyone able to find this out? Even looking at the pictures of the board, it only shows the bottom side of the board, so it is impossible to see the chip markings!

    --
    First Falcon-1 to orbit, then Falcon-9. Then I can die a happy man.
    1. Re:What kind of FPGA? by fizze · · Score: 2, Informative
      --
      Powerful is he who overpowers his temptations.
  22. raytracing with 350 million polygons? by Speare · · Score: 2, Interesting

    Are you sure the Boeing thing was raytracing 350 million polygons? Or just traditional raster pipeline rendering?

    See, the reason I ask is, you generally get away from raytracing polygons and raytrace against the actual nurbs or other mathematical surface definitions. That's the point. You don't feed it to simple scan-and-fill raster pipelines.

    --
    [ .sig file not found ]
    1. Re:raytracing with 350 million polygons? by The+boojum · · Score: 2, Informative

      I can't speak for the chip yet, but I've read the papers on their software system and know that it gets a good part of its speed by rendering triangles only. The secret is that they have a cleverly laid-out, cache-friendly BSP tree of the triangles and their code uses MMX SIMD instruction to intersect 4 rays at a time with the triangles in the tree. Rendering triangles only lets them get away with a more compact (and therefore more cache friendly) memory structure and lets them avoid the performance penalty of switching or [vtable] dispatching on object types -- it's all one very tight loop to walk the tree and intersect triangles.

    2. Re:raytracing with 350 million polygons? by donglekey · · Score: 2, Informative

      Most ray tracing renderers trace triangles. Blue Sky's CGI studio is the only renderer that I have heard of that traces nurbs surfaces directly.

  23. Anti-Planet by KalvinB · · Score: 5, Interesting

    Anti-Planet Screenshots. Anti-Planet is a FPS rendered entirely using ray tracing. It requires an SSE compatible processor (PIII and above. AMD only recently implemented SSE in their processors). This has been out long before Doom 3 and runs on systems Doom 3 couldn't possibly run on and the graphics tricks it does are just now being put into raster graphics based games.

    That, along with Wolf 5k inspired me to start working with software rendering. I think ray tracing will eventually be the way real time graphics are rendered in order to keep upping the bar for realism.

    Real Time Software Rendering

    I'm working on tutorials covering software rendering topics. The tutorials start by deobfuscating and fully documenting Wolf5K, cover some basic ray tracing and are now going through raster graphics since the concepts used for raster graphics apply for ray tracing as well. I'll be returning to do more advanced ray tracing stuff later. The tutorials also cover an enhanced version of Wolf5K written in C++ that is true color and has no texture size limitations.

    1. Re:Anti-Planet by bani · · Score: 3, Informative

      amd only "recently" implemented sse? they've had it since 2001.

      more recent amd chips have sse2, and sse3 on amd64 is just round the corner.

  24. Re:A Boeing? by The+boojum · · Score: 2, Informative

    Try http://graphics.cs.uni-sb.de/MassiveRT/boeing777.h tml when they're no longer being slashdoted.

  25. Mirror to video by DesiVideoGamer · · Score: 2, Informative

    Here is a mirror to the video.

  26. I seriously thought PS2/Emotion engine wud do this by cheekyboy · · Score: 2, Insightful

    When the magic emotion engine of ps2 was announced, I thought, hmmm are they going to for once try realtime raytracing in hardware or cont with tired old polygon rendering.

    Imagine if nvidia threw in an extra 5m transistors for a raytracing option ;)

    --
    Liberty freedom are no1, not dicks in suits.
  27. why not old crap pcs are clusters by cheekyboy · · Score: 2, Insightful

    Why not gather up some old crap PCs, 1ghz or 1.8s, build a stack of 10-20 of them ($299 * 10) and install linux/povray on em all or whatever you use.

    Hell, even 20 chipped xboxs ;)

    --
    Liberty freedom are no1, not dicks in suits.
  28. raytracing advantages by bani · · Score: 5, Insightful

    afaik the advantage of raytracing is that you are no longer bound by polys though. you can easily have unbelievably complex scenes with little performance impact vs simple scenes. your bottleneck is no longer polys/sec but now rays/sec.

    and iirc raytracing is a very simple thing to parallelize. given the performance they are getting out of their FPGA prototype, I expect this will scale nicely.

    imo raytacing is the obvious future of graphics cards.

    as an aside, a lot of game mechanics is dependent on raytraces for detecting collisions. now if you could use a raytracing GPU to handle that as well, you've offloaded yet more work from the CPU... :-)

  29. Re:Then vs Than by datafr0g · · Score: 2, Funny
    Really, it may seem petty, but glaring grammatical errors like this are an immediate turn-off. I read stuff like this and immediately assume the author is a nitwit and don't bother reading further.
    THAN I loaded up the post in my browser, THAN I saw something that was a more unnecessary post THEN usual... another bloody typo complaint. THAN I replied in a suitably smartarse fashion.

    - A nitwit
    --
    "Who says nothing is impossible? Some people do it every day!" - Alfred E. Neuman
  30. PS5, Xbox Next II? by KrackHouse · · Score: 2, Insightful

    I wonder if they're thinking ahead enough to consider a combination of the new Physx chip with a few of these things on a multicore chip. George Lucas just merged his game and movie production studios, seems to be a real trend.

    --
    What if Digg added local news and a Slashdot inspired comment karma system? ---
    http://houndwire.com
  31. HQ RT Ray Tracing by SnprBoB86 · · Score: 2, Insightful

    As interesting and promising as this is, it is currently useless because it seems to produce low quality renders.

    The screenshots on the site all show images that could easily be rendered with much greater quality and efficiancy using shadow maps or stencil shadows and manual matrix transformations with portal rendering for reflections.

    When this hardware can render scenes on par with that of a professional software ray tracer in real time, then there will be some serious consumer demand.

    --
    http://brandonbloom.name
  32. Re:Surprising by iduno · · Score: 2, Informative

    If you have a look at the sample pictures they aren't extremely detailed compared to that used by pixar. To get something running near real time at the quality pixar uses you would need hundreds, if not thousands of better and more expensive FPGA's running concurrently to produce a reasonable frame rate. Considering some FPGA's can cost around $1000/piece for the better ones, this could make it too expensive to put together something at the present. While FPGA's are good for designing hardware to handle ray tracing, it would probably be cheaper to design and build a custom chip to do real time ray tracing that would be suitable for commercial use.

  33. It takes more than a chip by sacrilicious · · Score: 4, Interesting

    Within the last five years I worked for a company that made 3D rendering chips. The operation that was encoded in hardware was that of testing a ray against a triangle; on the chip produced by my former employer, this operation could be done in parallel something like 16 times, using only one or two clock cycles.

    Once this functionality was achieved, there were some contextual architectural decisions to be made about what asic would include these gates. The company decided to implement these gates on a chip that had about 16MB of ram on it and its own execution unit (vaguely like one of the subchips in IBM's upcoming cell architecture, IIUC) and then to put arrays of these independent exec chips on daughter cards.

    Many of these decisions were trying to solve the specific problems of raytracing, e.g. how do we get geometry info into the chips efficiently, how can we parallelize the running of shaders so they don't bottleneck things, etc. These problems manifested themselves quite differently than they did for zbuffering hardware, and there were lots of clever-yet-brittle constructs used which could be shown to work in specific cases but which had pot-holes that were hard to predict when scaling or changing the problem/scene at hand.

    Rather than selling these chips themselves, the company decided that programming them was hard enough that the company itself would package up the chips into a "rendering appliance", which was essentially a computer running linux with a few of these daughtercards in them. For a software interface to rendering packages, the company chose Renderman. The task then became to translate rendering output from disparate sources (Maya, etc) into renderman expressions, and this was devilishly hard to get right. Each rendering package had to be individually tweaked in emulation, and some companies didn't help out much with info, and even those that did weren't able to supply all the info needed in many cases... my former employer ended up chasing un-spec'd features down ratholes.

    The end result was really a disaster. Nothing worked quite right, which was problematic because these chips were marketed not just as fast but as faster drop-in replacements for existing software renderers.

    I find it interesting how this entire tsunami of problems snowballed from the initial foundation of how raytracing algorithms (and therefore hardware) are different from zbuffering.

    --
    - First they ignore you, then they laugh at you, then ???, then profit.
    1. Re:It takes more than a chip by gr8_phk · · Score: 2, Interesting
      You're quite right about the differences between rasterizing and ray tracing. In my RT library, polygon (and other object) intersection tests are not the limiting factor, not even close. Using a proper scene subdivision structure you generally only do a couple intersections per pixel, and then only one shading operation. This means a 1 megapixel display running at 60 FPS need only do 60M shadings per second (barring reflections etc). The bottleneck in my code is a recursive tree traversal. Unfortunately once you optimize that, you still have a very strange mix of tree traversal, intersection test, shading, and recursive rays. It's not a problem that makes for easy hardware pipelining.

      Shameless plug: rtChess

      The library is actually much faster now than that old release of the game. If moores law continues by giving us multicore chips, you'll have realtime raytrace FPS, and our chess game will be slugish with photon mapping both in about 7-8 years.

  34. OpenRT + CELL by Anonymous Coward · · Score: 2, Interesting

    Could CELL be programmed to do OpenRT as efficiently as this chip?

  35. Re:A Boeing? by mobby_6kl · · Score: 2, Funny

    CEO

  36. Programer vs. Artist screenshots. by Lerc · · Score: 3, Insightful

    So many people are dismissing ray tracing out of hand because the screenshots are not as pretty as some from the latest games.

    Let me ask you. Why would you expect teams of electrical engineers/mathematicians/programmers be able to produce a prettier image than a team of extremely talented artists.

    The job of the artist is to make it look pretty. The job of the guys making this chip is to provide features and to make it go fast.

    So it's not fast enough yet. It's a prototype. When it can render decent resolutions at decent framerates then bring in the artists and see what they can do with it.

    --
    -- That which does not kill us has made its last mistake.
  37. Re:Duh, you develop with FPGA. Then you make ASIC. by Kiryat+Malachi · · Score: 2, Insightful

    Reconfigurable hardware is rarely enough of a benefit to outweigh the large cost differential between an ASIC and an FPGA.

    (I work for an ASIC design team for a living, so yes, I do know what I'm talking about.)

    --

    ---
    Mod me down, you fucking twits. Go ahead. I dare you.
    (I read with sigs off.)