Carmack on Ray Tracing & Rasterization

Carmack said:
Accurate reflections without environment maps or subview rendering. This benefit is tempered by the fact that it is only practical at real time speeds for mirror-like surfaces. Slightly glossy surfaces require a bare minimum of 16 secondary rays to look decent, and even mirror surfaces alias badly in larger scenes with bump mapping. Rasterization approximations are inaccurate, but mip map based filtering greatly reduces aliasing, which is usually more important. I was very disappointed when this sunk in for me during my research – I had thought that there might be a place for a high end “ray traced reflections” option in upcoming games, but it requires a huge number of rays for it to actually be a positive feature.

Seems like it's also hard with cone tracing. Any explicitly specular aimed cone tracing papers?
 
I'm sure he has something newer than the 2013 system when this was originally posted.

Any particular reason for the bump of a 6+ year old thread?
 
...mip map based filtering greatly reduces aliasing, which is usually more important.
Would be great to read about the filtered "cone tracing like" approach aiming specular reflections.
 
Has Carmack won any awards? His contribution in computer graphics has been super significant. His ability to look forward also make him a very distinguishable figure.
 
Someone had to have requested a design for it initially, but probably abandoned it for other reasons. Maybe a console vendor (or AMD themselves) might be interested. o_O
 
When you see Nintendo taking a old tegra x1 over anything img had to offer, it's sad (and they had still mips on the cpu side I believe at the time), but off topic, sorry.
 
Last edited:
Has Carmack won any awards? His contribution in computer graphics has been super significant. His ability to look forward also make him a very distinguishable figure.
can't remember exactly which one (or ones), but I think he won a few. He is a legend, anyways.

This looks like raytracing, btw.

 
Thats freakin amazing. I see these car sections and imagine how a AAA transformers game would have looked with this tech
 
can't remember exactly which one (or ones), but I think he won a few. He is a legend, anyways.

This looks like raytracing, btw.
Thats freakin amazing. I see these car sections and imagine how a AAA transformers game would have looked with this tech
It looks pretty but you can tell its not raytraced given not all objects are present in the reflections. During the beginning 1st minute the trees are not in those reflections. However raytraced reflections only are marginally more immersive for most gamers which show how far rasterization has come and in my opinion how much of a waste of silicon die space dedicated raytrace microarchitecture is.
 
This looks like raytracing, btw.


I'll file this under "Yet another example of why RT is not so necessary, because rasterisation and image based shaders still have many underexplored tricks, and most people can't tell the difference, in fact they have been neglecting the look of reflections and GI all these years and only now are they taking note of it" a very fat folder I opened since nvidia unveiled RTX which recieves new documents weekly.

The great reflections there were present in the vanilla GTA V, in PS360.
The reflextions on the ground are good old plannar reflections: a secondary rasterized render of the scene done from the persoective of the reflected virtual camera composited to the main render. It works surprisingly well given the hack it is. It only works for plannar surfaces, so in GTA the game seems to dynamically pick whatever horizontal plane covers more ground surfaces at each moment (god knows how it determins that) and all other ground surfaces at different heights either get the same (then incorrect) reflection and hope nobody notices, or they revert to cthe dynamic cubemap one, more on that now.
The car reflections are from a cubemap generated dynamically in real-time by (it seems) unwrapping a dual paraboloid render of the world from the camera center. They are used as-is (no parallax correction) for all cars (near or distant from the camera) and pretty much all other reflective surfaces in the game to which the ground reflections are not assigned. That means, if the camera goes under a bridge, sundenly all reflective objects pointing upwards reflect a bridge on top of them. Yet, it works most of the time, and often looks more high-end than other game's higher res, but static cubmaps. Even if the parallax is completely incorrect, the fact the world's reflection shifts perspective as the camera moves (even if im geometrically incorrect ways) already make them look more "correct" and even ray-tracey.
Both those reflection renders are much lower detail than the main camera one, skipping most objects, reverting to incredibly simplified geometry and textures (probably recycling the same loest LoDs for distance rendering) and the most basic of lighting models it can, and again, despite all this, it looks passable most of the time.
 
I'll file this under "Yet another example of why RT is not so necessary, because rasterisation and image based shaders still have many underexplored tricks, and most people can't tell the difference, in fact they have been neglecting the look of reflections and GI all these years and only now are they taking note of it" a very fat folder I opened since nvidia unveiled RTX which recieves new documents weekly.

The great reflections there were present in the vanilla GTA V, in PS360.
The reflextions on the ground are good old plannar reflections: a secondary rasterized render of the scene done from the persoective of the reflected virtual camera composited to the main render. It works surprisingly well given the hack it is. It only works for plannar surfaces, so in GTA the game seems to dynamically pick whatever horizontal plane covers more ground surfaces at each moment (god knows how it determins that) and all other ground surfaces at different heights either get the same (then incorrect) reflection and hope nobody notices, or they revert to cthe dynamic cubemap one, more on that now.
The car reflections are from a cubemap generated dynamically in real-time by (it seems) unwrapping a dual paraboloid render of the world from the camera center. They are used as-is (no parallax correction) for all cars (near or distant from the camera) and pretty much all other reflective surfaces in the game to which the ground reflections are not assigned. That means, if the camera goes under a bridge, sundenly all reflective objects pointing upwards reflect a bridge on top of them. Yet, it works most of the time, and often looks more high-end than other game's higher res, but static cubmaps. Even if the parallax is completely incorrect, the fact the world's reflection shifts perspective as the camera moves (even if im geometrically incorrect ways) already make them look more "correct" and even ray-tracey.
Both those reflection renders are much lower detail than the main camera one, skipping most objects, reverting to incredibly simplified geometry and textures (probably recycling the same loest LoDs for distance rendering) and the most basic of lighting models it can, and again, despite all this, it looks passable most of the time.

Would a hybrid solution be able to, for example, use a fairly limited number of rays to determine more accurate rasterisation hacks?

So rather than "unwrapping a dual paraboloid render of the world from the camera center" could the various surfaces of the cars see their appropriate reflection determined, roughly, by tracing a limited number of rays, then render additional, lower resolution perspectives?
 
Would a hybrid solution be able to, for example, use a fairly limited number of rays to determine more accurate rasterisation hacks?

So rather than "unwrapping a dual paraboloid render of the world from the camera center" could the various surfaces of the cars see their appropriate reflection determined, roughly, by tracing a limited number of rays, then render additional, lower resolution perspectives?

I don't see how that could work.
There are other, more obvious ways to improve on GTA's aproach.
-Parallax correcting the cubmap reflection based on it's Z-buffer. Something similar to POM, but for cubemaps.
-A similar paralax correction can be done fot the plannar reflections too.
-Add more planes/points.
-Improve the reflection's render quality.
-Add SSR into the mix.
All without castinf a single ray against a soup of BVH's and Tris. Not that BVH's and Tris can't be useful, but they are not the only useful way to improve reflections and GI out there.
 
I'll file this under "Yet another example of why RT is not so necessary, because rasterisation and image based shaders still have many underexplored tricks, and most people can't tell the difference, in fact they have been neglecting the look of reflections and GI all these years and only now are they taking note of it" a very fat folder I opened since nvidia unveiled RTX which recieves new documents weekly.

The great reflections there were present in the vanilla GTA V, in PS360.
The reflextions on the ground are good old plannar reflections: a secondary rasterized render of the scene done from the persoective of the reflected virtual camera composited to the main render. It works surprisingly well given the hack it is. It only works for plannar surfaces, so in GTA the game seems to dynamically pick whatever horizontal plane covers more ground surfaces at each moment (god knows how it determins that) and all other ground surfaces at different heights either get the same (then incorrect) reflection and hope nobody notices, or they revert to cthe dynamic cubemap one, more on that now.
The car reflections are from a cubemap generated dynamically in real-time by (it seems) unwrapping a dual paraboloid render of the world from the camera center. They are used as-is (no parallax correction) for all cars (near or distant from the camera) and pretty much all other reflective surfaces in the game to which the ground reflections are not assigned. That means, if the camera goes under a bridge, sundenly all reflective objects pointing upwards reflect a bridge on top of them. Yet, it works most of the time, and often looks more high-end than other game's higher res, but static cubmaps. Even if the parallax is completely incorrect, the fact the world's reflection shifts perspective as the camera moves (even if im geometrically incorrect ways) already make them look more "correct" and even ray-tracey.
Both those reflection renders are much lower detail than the main camera one, skipping most objects, reverting to incredibly simplified geometry and textures (probably recycling the same loest LoDs for distance rendering) and the most basic of lighting models it can, and again, despite all this, it looks passable most of the time.
there is a more recent version of the mod -released a month ago- running at true 8k 60 fps on two RTX 2080 Ti SLI :oops::!:

5:00 mark and 7:00 mark, nothing to envy to raytracing

 
Last edited:
Back
Top