Announcement

Collapse
No announcement yet.

Mesa's CPU-Based Vulkan Driver Now Supports Ray-Tracing

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

  • #51
    Originally posted by Anux View Post
    your funny or did you mean this serious? Following that "logic" we wouldn't even need a multi core CPU for ray tracing because ID Software already did it on the 286 in 1992. https://en.wikipedia.org/wiki/Wolfenstein_3D
    Look how I pwnd you all!!11!!1!
    You pwnd nobody because Wolfenstein was not raytracing and run on 386 not 286.

    Originally posted by Anux View Post
    No one would even compare this to what we know as ray tracing today...
    In fact only you did it.

    Comment


    • #52
      Originally posted by thomasjkenney View Post

      Pshhhhhaw! I was fooling with PovRay on a uVAX in 1990. Since VAX/VMS, it would certainly run on the likes of 8350, for 'multi-core' goodness.
      Maybe it was DKBTrace or the year was 1991 because first beta of POV-Ray was released in July 1991.

      Comment


      • #53
        Originally posted by oleid View Post
        Software OpenGL is great for legacy applications.
        At work we archived old in-house software releases that didn't support more recent versions of the proprietary framework via flatpak.

        People can install the old binaries as-needed and run the old Software. As the old software doesn't contain recent GPU drivers software rendering is used and it is plenty fast.
        Your case is a special case, but OpenGL done by the CPU is extremely slow in comparison to OpenGL done by the GPU.
        ​And OpenGL was designed for the GPUs.

        Comment


        • #54
          Originally posted by Phoronos View Post

          Your case is a special case, but OpenGL done by the CPU is extremely slow in comparison to OpenGL done by the GPU.
          ​And OpenGL was designed for the GPUs.
          It highly depends on what you are doing. While it is slower than using GPU for sure, the main criteria to me is if it is fast enough or not.
          And in my special case it is.

          Comment


          • #55
            Originally posted by Bisu View Post

            Maybe it was DKBTrace or the year was 1991 because first beta of POV-Ray was released in July 1991.
            HA! That's probably correct. IIRC, it was on a DECUS tape of goodies, including a wireframe flight simulator in which you could fly a B1-B and drop a nuke, or drive an Abrams around an empty landscape.

            Comment


            • #56
              I like how people are making fun of it by saying "yeah, good luck playing games at 0.1 FPS" where it's most likely not meant to be used for games but rather for automated testing. Automated test hosts rarely have GPUs so if you want to have automated tests for your rendering code then you are out of luck unless you have some software implementation of rendering API which is what projects like lavapipe provide and now it will be also able to handle ray tracing code.

              Comment


              • #57
                Originally posted by coder View Post
                These ISA extensions support vector-oriented programming models, like horizontal sums, dot products, shuffles, etc.
                And each of those take multiple data and apply a single instruction, the very definition of SIMD. It sounds like you don't consider these to be SIMD?

                But independent of riding a definition, the fact that benchmarks show massive gains with AVX for RT should be enough. Or how would you explain those gains?

                No. Just because the original Wolfenstein game wasn't actually ray-tracing says nothing about anything else.
                But it was ray tracing, just not what we visualize today when talking about ray tracing.

                I don't watch youtube videos and your statements have been shown to be too unreliable for me to put any stock into. Try linking to an authoritative source and I might have a look.
                Yeah sure, have your fun closing your eyes and pretending your right. Try to search on other platforms yourself. I will not do the work for you because if it doesn't fit your narrative you choose to ignore it anyway.

                Originally posted by Bisu View Post
                You pwnd nobody because Wolfenstein was not raytracing and run on 386 not 286.
                Did you even read the wikipedia link? And where is your link that supports your claims?​ And if ray casting is not ray tracing, can you explain the difference between "shooting out rays from a camera" vs "shooting out rays from a camera"?

                It's just a more simple form of modern ray tracing, exactly like the Intel tech demo is a more simple form of modern ray tracing.

                Comment


                • #58
                  Originally posted by Anux View Post
                  Did you even read the wikipedia link? And where is your link that supports your claims?​
                  You are right on the fact that Wolfenstein was 286 instead of 386, my fault. I confused it with Doom.
                  Sorry.

                  Originally posted by Anux View Post
                  And if ray casting is not ray tracing, can you explain the difference between "shooting out rays from a camera" vs "shooting out rays from a camera"?
                  The main difference is that ray tracing use at least a ray per pixel and the ray is used to draw the pixel. In wolfenstein the walls are simply drawed vertically with a proportion to search the right color in the texture. This is the main difference but you can find others :
                  - wolfenstein dataset is 2d, ray tracing use 3d rays from camera to scene
                  - wolfenstein have only one primitive to render, rectangular vertical walls all with same height without any intersection, floor and ceiling is not rendered at all
                  - in ray tracing the visible surface is determined from the nearest of the surfaces intersected by the ray, in wolfenstein there is no need to do so because the map is 2d and no surface intersect another one

                  Originally posted by Anux View Post
                  It's just a more simple form of modern ray tracing, exactly like the Intel tech demo is a more simple form of modern ray tracing.


                  The wolfenstein rendering algorithm (and also doom's one or the build engine) is totally different from a raytracing algorithm.

                  Useful links :

                  Comment


                  • #59
                    Originally posted by Bisu View Post
                    The main difference is that ray tracing use at least a ray per pixel and the ray is used to draw the pixel.
                    Where is ray tracing defined to be atleast one ray per pixel? I could easily use one ray for 4 pixels and it would still be raytracing, just with a lower resolution. In fact the intel tech demo coder linked (https://pcper.com/2008/02/intel-demo...ra-mobile-pcs/) used 512x256 on a 1024x600 screen and that was considered ray tracing.

                    wolfenstein dataset is 2d, ray tracing use 3d rays from camera to scene
                    Where is ray tracing defined to be only aplicable in 3D space? You can easily use vectors with any dimension and all the math stays the same, just displaying it on a 2D screen will be impossible for more than 3 dimensions.
                    Or to look at it from the resolution argument above, rendering in 3D but with 1024x1 pixels. If 1024x600 is ray tracing, then why would any lower vertical resolution not be ray tracing? Ofcourse it would not look nice but that was my whole argument.

                    wolfenstein have only one primitive to render, rectangular vertical walls all with same height without any intersection, floor and ceiling is not rendered at all
                    Those are all shortcuts taken to make it run on the hardware back then, much like many shortcuts in the intel demo.
                    in ray tracing the visible surface is determined from the nearest of the surfaces intersected by the ray, in wolfenstein there is no need to do so because the map is 2d and no surface intersect another one
                    That doesn't make sense, why would surfaces need to intersect? The intersection would be a line.
                    Exactly like in 3D space wolfenstein needs to calculate intersection of rays with the nearest lines in 2D space. Each vector just has one less coordinate. Edit: Better explanation, the 3th coordinate (height) is always zero, making it 2D.

                    The wolfenstein rendering algorithm (and also doom's one or the build engine) is totally different from a raytracing algorithm.
                    In the sense that it doesn't do any bounces? Yes but the Intel demo also doesn't do bounces for most objects, so it's only partly ray traced?

                    The core idea of ray tracing is like the name suggests, tracing light rays. That would be tracing rays from the sun to the camera, but since we will probably never have enough computing power for all the rays of which most we never see, we take short cuts. And the very first short cut of any ray tracer is doing it in reverse, shooting the rays from the camera and therefore only calculate rays that would ever hit the camera.
                    The simplest form (ray casting) just stops after those rays hit an object and the more sophisticated versions bounce off to different light sources, have diffuse reflections, soft shadows, ... and all those methods need to bounce exponentially more rays per pixel which brings us to the real time problem.
                    Have a look at https://en.wikipedia.org/wiki/Ray_tr...ting_algorithm

                    Edit: coder the wikipedia article has the video also, let's hear your excuses for not watching it
                    Last edited by Anux; 18 March 2024, 10:35 PM.

                    Comment


                    • #60
                      Originally posted by Anux View Post
                      Where is ray tracing defined to be atleast one ray per pixel? I could easily use one ray for 4 pixels and it would still be raytracing, just with a lower resolution. In fact the intel tech demo coder linked (https://pcper.com/2008/02/intel-demo...ra-mobile-pcs/) used 512x256 on a 1024x600 screen and that was considered ray tracing.
                      Here your are saying that a "zoom" to stretch the image to fullscreen imply a change of the rendering algorithm name.
                      The rendering resolution is that matters ofcourse, and in wolfenstein the pixels are not rendered with rays. So I argue is not raytracing.

                      You take only the first part of my previous statement. I repeat it so you can reason also on the second part : "The main difference is that ray tracing use at least a ray per pixel and the ray is used to draw the pixel. In wolfenstein the walls are simply drawed vertically with a proportion to search the right color in the texture."

                      Originally posted by Anux View Post
                      Where is ray tracing defined to be only aplicable in 3D space? You can easily use vectors with any dimension and all the math stays the same, just displaying it on a 2D...
                      The math is largely different and the algorithm logic also.

                      Originally posted by Anux View Post
                      ...screen will be impossible for more than 3 dimensions.
                      Or to look at it from the resolution argument above, rendering in 3D but with 1024x1 pixels. If 1024x600 is ray tracing, then why would any lower vertical resolution not be ray tracing? Ofcourse it would not look nice but that was my whole argument.

                      Those are all shortcuts taken to make it run on the hardware back then, much like many shortcuts in the intel demo.
                      It is you that take resolution in the argumentation, I only said that in ray tracing, rays are used to color every pixel, in wolfenstein this is not the case.

                      1024x1 pixels resolution ? Is this your argumentation ? For real ?

                      What you call shortcuts are fundamental data limitations that permit to use another more efficient algorithm than ray tracing.

                      Originally posted by Anux View Post
                      That doesn't make sense, why would surfaces need to intersect? The intersection would be a line.
                      Exactly like in 3D space wolfenstein needs to calculate intersection of rays with the nearest lines in 2D space. Each vector just has one less coordinate. Edit: Better explanation, the 3th coordinate (height) is always zero, making it 2D.
                      In this last explanation you get the point. If you have 2d rays in a 2d space, you can only render a horizontal line of pixels with rays intersection, how do you think the others pixels came from ? Simple, not from ray tracing.

                      Originally posted by Anux View Post
                      In the sense that it doesn't do any bounces? Yes but the Intel demo also doesn't do bounces for most objects, so it's only partly ray traced?
                      Bounce is not the problem you can get a proper ray tracing render also with a single ray per pixel, loosing reflections, shadows, and so on.

                      Originally posted by Anux View Post
                      The core idea of ray tracing is like the name suggests, tracing light rays. That would be tracing rays from the sun to the camera, but since we will probably never have enough computing power for all the rays of which most we never see, we take short cuts. And the very first short cut of any ray tracer is doing it in reverse, shooting the rays from the camera and therefore only calculate rays that would ever hit the camera.
                      You described photon mapping but this is not a shortcut, it is a totally different algorithm, in common there is only the fact that all use rays.

                      Originally posted by Anux View Post
                      The simplest form (ray casting) just stops after those rays hit an object and the more sophisticated versions bounce off to different light sources, have diffuse reflections, soft shadows, ... and all those methods need to bounce exponentially more rays per pixel which brings us to the real time problem.
                      Have a look at https://en.wikipedia.org/wiki/Ray_tr...ting_algorithm

                      Edit: coder the wikipedia article has the video also, let's hear your excuses for not watching it
                      The point is that wolfenstein do not use raycasting but something like a scanline and for sure do not use rays like raytracing.

                      Comment

                      Working...
                      X