Quake 3: Raytraced.

Discussion in 'Rendering Technology and APIs' started by Waltar, Jun 8, 2004.

  1. Simon F

    Simon F Tea maker
    Moderator Veteran

    Joined:
    Feb 8, 2002
    Messages:
    4,563
    Likes Received:
    171
    Location:
    In the Island of Sodor, where the steam trains lie
    That can only be the case if the scene is 100% static.

    (And yes, I have written a ray tracer - one based on Amantide's "Ray tracing with Cones")
     
  2. ohNe22

    Newcomer

    Joined:
    Jun 20, 2004
    Messages:
    23
    Likes Received:
    1
    Location:
    germany
    Just one thing I wanted to add:

    Besides the other benefits of raytracers, saarcor has some advantages over rasterizers.
    I read some of the documentation and found that the architecture can be highly parallel. On top of that they use some optimizations like sending out 4 rays instead of one (which results in better memory accesses) and they seem to have found fast algorithms that solve most of the theoretical problems.
    And the biggest issue - memory - seems to be solved, too. Saarcor uses all available memory in a computer system as vitual memory. Like that it can store masses of geometry - and as read in the documentation - nearly without any performance penalty.

    Besides that I have thought about geometry in future games.
    I think that in the near future a big part of the geometry is generated "on the fly" - so you only have to store it in the graphics card or system memory and not on hard disk - which should be faster in most practical cases.
    For example I woudn't create a terrain out of triangles and would instead create a 2d image where the topography is displayed in grey shades - displace it - et voilà: nice terrain.
    In addition to that I would appreciate "higher order primitives" like spheres. It is very simple to render a "perfect" sphere in a raytracer - it is even faster then rendering a sphere that consists of triangles because the intersection is rather easy to calculate - and the shading, refraction and reflection looks more realistic.
    I think that these higher order primitives could be very useful in game designs and that they can speed things up even more (and cost less memory).

    Well - on the other hand I expect memory amount in PCs to go up in the next 2-3 years. We have Longhorn in 2006 which will need masses of memory and disk space.
    While today's computers have 512 mb of system memory (which is sufficient for most applications) I would guess that it doubles or even quadruples (right spelling?) in the next 2 years. And hard disks will reach TB-format. So memory won't be an issue in the future if the architecture uses it smart and efficiently.
     
  3. ohNe22

    Newcomer

    Joined:
    Jun 20, 2004
    Messages:
    23
    Likes Received:
    1
    Location:
    germany
    Yes, you're right - theoretically :wink:

    Saarcor seems to proof that this doesn't need to happen. If you watch the different movies you can see many moving objects.
    I don't know how exactly they managed it. I can only guess that they used some cool algorithms and that the core's architecture can handle translations and rotations in a fast manner.

    The only thing they didn't proof is the performance of transformations. But that would be a hard piece of work for rasterizers, too.

    If I understood the documentation and the announcements correctly they also want to implement collision detection in hardware which would push performance even on todays games and make animations even more realistic.
     
  4. alexsok

    Regular

    Joined:
    Jul 12, 2002
    Messages:
    807
    Likes Received:
    2
    Location:
    Toronto, Canada
    ohNe22
    You seem to be well informed (haven't gotten around to reading the actual documentation yet)... did they design the sarrcor chip in a completely different fashion from the way graphics chips are designed these days (R420, Nv40), or certain components from both pictures seem to stay put? I remember Kirk mentioning in the same interview that NV40 is already capable of RT, but we already heard these blurbs before with NV30 as well....
     
  5. Simon F

    Simon F Tea maker
    Moderator Veteran

    Joined:
    Feb 8, 2002
    Messages:
    4,563
    Likes Received:
    171
    Location:
    In the Island of Sodor, where the steam trains lie
    But are they just moving with simple affine transformations applied to the whole objects? That is a simple transform to the ray so that the same static acceleration structure can be reused.

    What happens if you start to bend/deform or skin objects?
     
  6. alexsok

    Regular

    Joined:
    Jul 12, 2002
    Messages:
    807
    Likes Received:
    2
    Location:
    Toronto, Canada
    I was wondering about something else...
    http://graphics.cs.uni-sb.de/~jofis/SaarCOR/SaarCOR-Cebit03-HiQ.avi
    Is there anything in that movie that can't be reasonably approximated using the features supplied by the current crop of cards?
     
  7. Mendel

    Mendel Mr. Upgrade
    Veteran

    Joined:
    Nov 28, 2003
    Messages:
    1,350
    Likes Received:
    17
    Location:
    Finland
    Well, if r420 is apple and nv40 is orange... Then this raytrace chip would be a-piece-of-not-quite-organic-matter-from-an-alien-spacecraft, that's how similar they are :)

    Or from D A perspective... Its almost, but not quite completely different to tea.
     
  8. alexsok

    Regular

    Joined:
    Jul 12, 2002
    Messages:
    807
    Likes Received:
    2
    Location:
    Toronto, Canada
    Nicely put :)
    Are there any plans on the horizon to a seamless integration of a similar chip to something more market-friendly? That could be a monstrous hit if executed and timed correctly!
     
  9. Simon F

    Simon F Tea maker
    Moderator Veteran

    Joined:
    Feb 8, 2002
    Messages:
    4,563
    Likes Received:
    171
    Location:
    In the Island of Sodor, where the steam trains lie
  10. Scali

    Regular

    Joined:
    Nov 19, 2003
    Messages:
    2,127
    Likes Received:
    0
    How many spheres do you see in everyday life though?
    And by the looks of things, OpenRT/Saarcor use triangles exclusively, their spheres are a low-poly tesselation. I wonder why that is. Perhaps because it is hard for hardware to support more than one primitive? Or perhaps because most objects are modeled with triangles anyway, so "perfect" spheres were not worth the effort?
     
  11. ohNe22

    Newcomer

    Joined:
    Jun 20, 2004
    Messages:
    23
    Likes Received:
    1
    Location:
    germany
    They didn't implement spheres because they want a "raytrace"-version of OpenGL, called OpenRT. Since OpenGL doesn't support any other primitives than triangles, Saarcor and the OpenRT project don't do it either.

    I don't exactly know, why they are using such low-poly tesselations, but I don't think that it has something to do with the chip architecture ...

    Reflections? Lights? Many many triangles? ...

    Yes, they can be done on rasterizers, too, but you end up with a big performance trade-off. Don't forget that this thing has only 90 mhz and just one "pipeline".


    right 8)

    First: Enjoy the movie when you have downloaded it :wink:
    I discussed this today. You could build your acceleration structures in a smart way where you pack your whole object in a sphere/box/whatever. And every object it consists of (arms, legs, head, body, ...) that can be transformed/moved separately in their own spheres/boxes/whatever. Like that you can build the hierarchy for one object without a big overhead when it comes to transformations/movement.
    This is just a method how it could be done based on my own thoughts - I don't know how it is managed in Saarcor/OpenRT, but I'm sure that their solution is ways better.

    Deforming/transforming triangle meshes is quite different so I don't know if can be efficiently done on a raytracer or not. Perhaps it is even not a problem at all for Saarcor.

    I'm trying to get more information about the project ... it fits nicely to my course of study :)
     
  12. Scali

    Regular

    Joined:
    Nov 19, 2003
    Messages:
    2,127
    Likes Received:
    0
    That doesn't make any sense... "We can do this better than OpenGL, so we're not going to use it"?

    Doesn't make sense either. If you want to show off, show off. Or should Ruby be rendered lowpoly, untextured and flatshaded, and ATi just going "Yea, but we can render it with per-pixel shading etc aswell, trust us"?

    Raytracing is a big performance trade-off to begin with. Sure, the raytracer can be manufactured for higher clockspeeds, and more pipelines can be added, but what will the result be? Currently we're only seeing buggy lowpoly images with aliasing, which can be rendered faster and more accurately with rasterizers, you don't even need the latest, most expensive model either. So this doesn't prove to me that raytracing is the better method. On the contrary.

    But that's the entire point. All character animation is with 'deformed' meshes, using skinning/vertexblending/tweening/etc. If you can't do this efficiently with raytracing (I know of no method to do this, and the animation in the movie was very bad, just looping through precalced static frames), then that is a very big disadvantage. I wonder if this is one of the reasons why Pixar generally doesn't use raytracing.
     
  13. Simon F

    Simon F Tea maker
    Moderator Veteran

    Joined:
    Feb 8, 2002
    Messages:
    4,563
    Likes Received:
    171
    Location:
    In the Island of Sodor, where the steam trains lie
    What format is that file? My player says it only has audio content.
     
  14. ohNe22

    Newcomer

    Joined:
    Jun 20, 2004
    Messages:
    23
    Likes Received:
    1
    Location:
    germany
    Eeeerrm - you misunderstood my point! They want to "replace" OpenGL so that there is no difference in implementing programs with OpenRT. For this reason they leave the triangles as the only primitives.

    They don't make any money with this so they don't have an PR appartment of 20 people that doesn't do anything else than think of cool marketing names and nice demos to present their products.

    It's an university with professors and students that want to proof that it is possible and that it can be done fast.

    I may be wrong, but I think that these pictures look better than on the early hardware-rasterizers; and faster - this is for sure!
    So what does this proof to you? Just because this FIRST incarnation of a hw-rt isn't performing as well as today's monster rasterizers doesn't mean that it's bad or slow.

    By the way on their website is a document that shows off how Saarcor performs when paralisation comes into play - and the scalability is just incredible.

    As I said: I don't have an answer on this.

    Mpeg4 I think - so you have to download DivX.
     
  15. Scali

    Regular

    Joined:
    Nov 19, 2003
    Messages:
    2,127
    Likes Received:
    0
    That doesn't make a whole lot of sense. They want OpenRT as a drop-in replacement for OpenGL? So you can run multipass/render-to-texture algorithms on your raytracer? That would be the most stupid idea yet :)
    Besides, OpenGL supports extensions, they could expose raytrace-specific features, such as certain primitives, as extensions?

    But then again, it is about a decade later.

    I hope for the sake of raytracing that someone does :)
     
  16. Nexiss

    Newcomer

    Joined:
    Feb 9, 2002
    Messages:
    122
    Likes Received:
    0
    Well, at the very least it would make sense to provide developers with a somewhat familiar API to work with.
    I don't think they are exactly the same, or why would they even bother creating a new API? Not to mention that you would want to do some things differently with a raytracer...
     
  17. Nappe1

    Nappe1 lp0 On Fire!
    Veteran

    Joined:
    Feb 6, 2002
    Messages:
    1,532
    Likes Received:
    11
    Location:
    South east finland
    as on my take, I'll quote myself from previous real time RT thread...



    and about the perfect shapes, like spheres...

    How many spheres you can spot from the image? :) (after you have counted them, go and search for "sphere" from source. be careful while counting the hits on source, because it includes quite lot remarked code that isn't used in this version anymore.)
     
  18. Scali

    Regular

    Joined:
    Nov 19, 2003
    Messages:
    2,127
    Likes Received:
    0
    Yes, now model a plant, a human, or something like that :)
    Man-made shapes can often be modeled with CSG, because (surprise) that is how they are manufactured.
    You start off with a block of material (wood, metal...), and you start drilling holes, filing off corners etc.
    So indeed, for some objects it works. Then again, triangles would work in such cases aswell. But there are many cases where triangles work, and CSG doesn't. And even if CSG works, triangles are often more intuitive to model with, and that's also worth a lot.
    However you put it, triangles are an important primitive, and support for deformable triangle meshes is crucial for things like human animation. If raytracing fails there, not many games will want to use it.
     
Loading...

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...