Announcement
Collapse
No announcement yet.
Mesa's CPU-Based Vulkan Driver Now Supports Ray-Tracing
Collapse
X
-
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.
- Likes 1
Comment
-
Originally posted by oleid View PostSoftware 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.
And OpenGL was designed for the GPUs.
Comment
-
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.
And in my special case it is.
Comment
-
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.
Comment
-
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.
- Likes 1
Comment
-
Originally posted by coder View PostThese ISA extensions support vector-oriented programming models, like horizontal sums, dot products, shuffles, etc.
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.
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.
Originally posted by Bisu View PostYou pwnd nobody because Wolfenstein was not raytracing and run on 386 not 286.
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.
- Likes 1
Comment
-
Originally posted by Anux View PostDid you even read the wikipedia link? And where is your link that supports your claims?
Sorry.
Originally posted by Anux View PostAnd 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"?
- 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 PostIt'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
-
Originally posted by Bisu View PostThe main difference is that ray tracing use at least a ray per pixel and the ray is used to draw the pixel.
wolfenstein dataset is 2d, ray tracing use 3d rays from camera to scene
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
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
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.
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 itLast edited by Anux; 18 March 2024, 10:35 PM.
Comment
-
Originally posted by Anux View PostWhere 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.
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 PostWhere 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...
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.
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 PostThat 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.
Originally posted by Anux View PostIn 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?
Originally posted by Anux View PostThe 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.
Originally posted by Anux View PostThe 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
Comment
Comment