Announcement

Collapse
No announcement yet.

raytracing vs rasterisation

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #21
    Originally posted by V!NCENT View Post
    The advantage of raytracing is that it scales extremely well with cores up to the point that it will very soon surpass the power of traingle rendering on graphics cards.
    I seem to remember that was going to happen 'very soon' for at least ten years now (just like we've been going to run out of oil in twenty years for about forty years).

    Ray-tracing does little that rasterisation can't do much faster; so unless you really want to make a game based on mirrors and marble spheres, there's very little to gain.

    Comment


    • #22
      Originally posted by movieman View Post
      I seem to remember that was going to happen 'very soon' for at least ten years now (just like we've been going to run out of oil in twenty years for about forty years).
      I get 3-6fps with a raytracing benchmark with global illumination and depth of field and all that stuff, running on one core on my AMD Phenom X4 9950 at 640x480. If it would take advantage of all 4 core I would get 12-24fps on my CPU. Now look at the Intel roadmap and in 3 years or so raytracing would be usefull at higher resolutions. Then double that in 3 years. I won't be getting a ray tracer out of the door tommorow so I plan to look ahead for about 3-6 years. It probably takes that long to make a good one for gaming so what better time to start now when I can test it?

      Ray-tracing does little that rasterisation can't do much faster; so unless you really want to make a game based on mirrors and marble spheres, there's very little to gain.
      Let's start with the geometry. Truly round objects, beautiful refraction of water and water has been a problem with gaming thus far, but now it can look good with the right geometry. Now look at games such as Crysis and MMO's where you get a massive slowdown if you have too many trees and models of players in a town where you spawn. There is a lot to be gained actually! It is a technical gain if the geometry itself allows for awesome collision detection and it paves way for easyer integration with stuf such as DMM just to name one out of the gazzilion other things that it could make possible.

      Then the lightning... It could make Doom 3 look like a walk in the park during daytime :')
      Last edited by V!NCENT; 14 October 2009, 01:21 PM.

      Comment


      • #23
        I think raytracing would be good for the geometry section, there's definitely a lot to be gained from that. If you think about it, the only reason triangles are used are because it is easy for calculations - all you want in the end is a 2D image of depth values (and other things, like normal values, etc) which you can pass along to the pixel stage. There's no reason other paradigms can't be used - ones more compatible with physics too, as an extra benefit.

        Of course this is still mostly speculation on my part - it would definitely be worth seeing a proof-of-concept, and profiling it to see what kinds of areas are the real bottlenecks.

        Comment


        • #24
          Originally posted by V!NCENT View Post
          I get 3-6fps with a raytracing benchmark with global illumination and depth of field and all that stuff, running on one core on my AMD Phenom X4 9950 at 640x480.
          And I get 30fps even in reasonably recent games at 1280x800 on my Pentium-4 with a 7800GS card.

          Let's start with the geometry. Truly round objects, beautiful refraction of water and water has been a problem with gaming thus far, but now it can look good with the right geometry.
          And how many 'truly round objects' are you going to have in your game? Looking around me here I can't see a single 'truly round object' in this room.

          Note, of course, that there's no fundamental problem with rasterisation of spheres rather than triangles, there's just little need for it. Nor is there any fundamental problem with rasterising other forms of smooth curves.

          Now look at games such as Crysis and MMO's where you get a massive slowdown if you have too many trees and models of players in a town where you spawn.
          And how is ray-tracing magically going to improve that? Ray-tracing requires comparing rays for every single pixel against every single piece of geometry that it might intersect. While you can use optimisations such as bounding boxes to rapidly eliminate geometry that the ray can't hit, there is nothing about ray-tracing which will magically make it handle complex geometry faster than rasterisation... generally quite the opposite as you have to search for the objects the ray interacts with rather than simply rendering the objects whose bounding boxes are visible on the screen.

          Comment


          • #25
            Originally posted by movieman View Post
            And I get 30fps even in reasonably recent games at 1280x800 on my Pentium-4 with a 7800GS card.
            You're avoiding my point. I show you why ray tracing will be fast enough (TM) very soon

            And how many 'truly round objects' are you going to have in your game? Looking around me here I can't see a single 'truly round object' in this room.
            Isn't seawater curved? Raytracing doesn't limit itself to rendering footballs... PS: you have never heared of NURBS

            Note, of course, that there's no fundamental problem with rasterisation of spheres rather than triangles, there's just little need for it. Nor is there any fundamental problem with rasterising other forms of smooth curves.
            There is: every added triangle takes up more processing power. As objects get more and more detailed with every graphic update/generation. And it is just plain ugly; who the hell has a square looking head? (for example)

            And how is ray-tracing magically going to improve that?
            Once you have enough computing power to render a square room in a desired resolution, the level of detail doesn't matter geometry-wise; it's all going to render at the same speed.

            Ray-tracing requires comparing rays for every single pixel against every single piece of geometry that it might intersect.
            No. I plan to achieve better image quality with less rays. You are either trolling or you have a very limited, or stupid, understanding of ray tracing in general.

            While you can use optimisations such as bounding boxes to rapidly eliminate geometry that the ray can't hit, there is nothing about ray-tracing which will magically make it handle complex geometry faster than rasterisation...
            Let's render 1 million teapots in ray tracing Vs traingle rendering, shall we?

            generally quite the opposite as you have to search for the objects the ray interacts with rather than simply rendering the objects whose bounding boxes are visible on the screen.
            You have to 'search' objects with just as much as triangle rendering by means of the Z-buffer as you do with rays.

            I'm (well maybe not so) sorry, but you have statements that are full of shit.
            Last edited by V!NCENT; 14 October 2009, 04:13 PM.

            Comment


            • #26
              I'll chime in and say that lucy (from the stanford scanning archive) is an incredibly detailed model that would likely render better with raytracing, assuming your data structures are ok. The reason is simple: once you get get to very small triangles in terms of screen space (pixel, or sub-pixel size) then its triangles start to lose some of their speed benefits.
              Of course, there are LOD techniques that can get around this, but similar techniques can be used with ray tracing. The real catch here is if you added skeletal animation and wanted the model to move around - static data is easy, animated not so much, and matrix transformations on triangle vertices are quick and easy.

              Comment


              • #27
                Originally posted by V!NCENT View Post
                I'm (well maybe not so) sorry, but you have statements that are full of shit.
                John Carmack was interviewed by PC Perspective last year after Intel released a white paper on real-time raytracing, his thoughts:

                John Carmack: I have my own personal hobby horse in this race and have some fairly firm opinions on the way things are going right now. I think that ray tracing in the classical sense, of analytically intersecting rays with conventionally defined geometry, whether they be triangle meshes or higher order primitives, I’m not really bullish on that taking over for primary rendering tasks which is essentially what Intel is pushing. There are large advantages to rasterization from a performance standpoint and many of the things that they argue as far as using efficient culling technologies to be able to avoid referencing a lot of geometry, those are really bogus arguments because you could do similar things with occlusion queries and conditional renders with rasterization. Head to head rasterization is just a vastly more efficient use of whatever transistors you have available.
                interview here

                You should be careful about buying into marketing hype, especially from companies that are trying desperately to remain relevant in the graphics business, like Intel.

                Comment


                • #28
                  Originally posted by V!NCENT View Post
                  You're avoiding my point. I show you why ray tracing will be fast enough (TM) very soon
                  Ray tracing has been going to be 'fast enough' for at least ten years too.

                  Isn't seawater curved?
                  Yes, but it's not a perfect sphere. In fact, it's generally a very irregular surface which is typically better suited to triangle modeling than curves.

                  PS: you have never heared of NURBS
                  Yes, I have.

                  There is: every added triangle takes up more processing power.
                  Added _detail_ takes more power in both ray-tracing and rasterisation. Again, there's no reason whatsoever why you can't rasterise curved surfaces instead of triangles... AFAIR Nviidia's first 3D chip did just that but no-one was interested because triangles were much better suited to games of that era.

                  Once you have enough computing power to render a square room in a desired resolution, the level of detail doesn't matter geometry-wise; it's all going to render at the same speed.
                  You seem to be implying that you believe you can ray-trace a room full of billions of objects in the same time as you need to ray-trace a simple cube?

                  No. I plan to achieve better image quality with less rays.
                  Given that good-looking ray-tracing typically requires multiple rays per pixel, how exactly do you intend to improve the image quality using less rays?

                  Let's render 1 million teapots in ray tracing Vs traingle rendering, shall we?
                  I'm sure 'Teapot Apocalypse' will be a multi-million selling game.

                  I'm (well maybe not so) sorry, but you have statements that are full of shit.
                  Yet I spent more than a decade working in the 3D graphics business before I decided I wanted a change. How about you?

                  Comment


                  • #29
                    Originally posted by movieman View Post
                    AFAIR Nviidia's first 3D chip did just that but no-one was interested because triangles were much better suited to games of that era.
                    I think the difference is that it was quadrilateral-based rather than triangle-based, which would explain why some Sega Saturn games were ported to it (Saturn's "VDP1" sprite/polygon chip is quadrilateral-based). As for why triangle-based rendering won out, I think it's just that filling triangles is just a simpler problem to solve generally. Quadrilaterals can be concave, while triangles can't. This means that a quadrilateral can have a non-contiguous fill region for a given fill line orientation. Some quadrilateral-based rendering algorithms will do interesting things in this situation.

                    Comment


                    • #30
                      Originally posted by yogi_berra View Post
                      John Carmack was interviewed by PC Perspective last year after Intel released a white paper on real-time raytracing, his thoughts:
                      Raytracing is abstract. John Carmack is a genious who wants to put out engines that you can use now, and not in 5 years. Of course he doesn't think ray tracing is around the corner...

                      You should be careful about buying into marketing hype, especially from companies that are trying desperately to remain relevant in the graphics business, like Intel.
                      I read Intel's research papers and I was not impressed at all. I don't bite into marketing

                      Originally posted by movieman View Post
                      Ray tracing has been going to be 'fast enough' for at least ten years too.
                      That was because people thought the algorythms would be improved, but they were not. Results gathered from the past are no guarantee for the future.

                      Yes, but it's not a perfect sphere. In fact, it's generally a very irregular surface which is typically better suited to triangle modeling than curves.
                      Yes, that irregular surface is calculated with voxels/dots/whatever and then smoothed out. This is done is CUDA fluid simulations. Guess what NURBS can do?

                      Added _detail_ takes more power in both ray-tracing and rasterisation. Again, there's no reason whatsoever why you can't rasterise curved surfaces instead of triangles... AFAIR Nviidia's first 3D chip did just that but no-one was interested because triangles were much better suited to games of that era.
                      That era. You nailed it yourself. Ofcourse more detail eats more performance, but geometry rendering doesn't.

                      You seem to be implying that you believe you can ray-trace a room full of billions of objects in the same time as you need to ray-trace a simple cube?
                      I am talking about rendering geometry in raytracing so yes.

                      Given that good-looking ray-tracing typically requires multiple rays per pixel, how exactly do you intend to improve the image quality using less rays?
                      The same way the human eye works; scanline rendering. No not horizontal ofcourse; think of scanlines that spawn from the center of the screen to the outer edges of the screen. Once you have the picture, then do some kind of texture filtering while you rasterise it to a preffered resolution. You will get a lot detail in the centre, or wherever the focus is and less on the outer edges. This also adresses dept-of-field, looks good on native high-res resolutions and eliminates a lot of compute power needs.

                      I'm sure 'Teapot Apocalypse' will be a multi-million selling game.
                      You don't get the point... How about a complete forest with 3D modelled grass?


                      Yet I spent more than a decade working in the 3D graphics business before I decided I wanted a change. How about you?
                      I have zero experience and I already kick more ass than enyone else.

                      Comment

                      Working...
                      X