I think someone should clarify a misconception here: There are tricks and there is RT.
A trick is to just render a picture of what is behind you shrinked on the glass of your scope. This is doable on any graphics card without tracing a single light ray.
This is similar to the tricks used to do all reflections in the game. If you have reflections turned on, any old graphics card can show you the sun reflected on water. It would even be possible in a game to have waves show a ripple effect if you keep the waves regular.
The difference to RT is, with RT waves would show the ripple effect even on irregular waves, for example if you threw a stone into the water. For this reason RT is a step up but isn't the revolution some people might think it is, because with tricks a lot of stuff is already possible in traditional graphics
How do I know that 7D2D does not use RT? Well, because I think I have seen the reflection in scopes as well with an AMD RX580 and definitely no RT included.
(Disclaimer: I'm not a graphics expert, lots of hearsay in this)
Quite right. Reflections ≠ raytracing. We've had tricks to look like realtime 3D reflections for 20+ years, before people even had graphics cards.
The earliest case I can think of was Duke Nukem 3D, but I wouldn't be surprised if there was an earlier one. The trick there was to have an impassable window looking into a room with identical, mirrored geometry to the room you're in (and then draw a copy of the character).
That doesn't work for 7DtD, since with few exceptions we expect nothing to be impassable.
A later trick is to choose a location in the scene, render out the scene in all directions from that point, as if with a 360° camera, and use the result as a reflection map for your shiny surfaces. One game that stood out to me for doing this was Portal, with its many polished hydraulic cylinders.
But these were a little off as I recall, mostly because the reflection maps were precomputed files. They couldn't update when something in the scene changed, which would be bad for 7DtD where entire buildings can appear or disappear over time.
What 7DtD seems to actually have is realtime reflection mapping for a select number of materials. I believe whenever a surface is reflective, it effectively means rendering the scene more than once: one rasterization pass for surfaces seen by the camera, and another for surfaces seen in the reflection.
The performance overhead for doing these multiple renders is kept in check by limiting the resolution of the reflection map (affected by the reflections quality setting) and how often it updates (as you play, you can see reflections update a few times a second, while the main scene renders at 60 FPS or whatever your framerate is).
I think the OP saw materials like the one shown in this screenshot (black TV screen) and concluded that the game had ray tracing.
I'm surprised that players are given the ability to paint as many reflective surfaces as they want. The game could likely enjoy certain optimizations if reflectivity was only used strategically. For instance, a big multi-block mirror could be treated as a single rectangular surface that needs reflections. But since you could just as easily paint that reflective material onto some funky irregular shape with a zillion polygons, the engine probably computes reflections block by block.
That gets at one of the advantages of actual ray tracing: why it
would be revolutionary in some ways. It's been some time since I was looking into this in detail, and I may have missed some advancements, but render time in ray tracing increases logarithmically with scene complexity, instead of linearly with rasterization.
Because the HW has no knowledge about the scene it must process every triangle [in rasterization] leading to a linear complexity with respect to scene size: Twice the number of triangles leads to twice the rendering time. While here are options to optimize this, must be done in the application separate from the HW.
The other algorithm – ray tracing – works in fundamentally different ways. It starts by shooting rays for each pixel into the scenes and uses advanced spatial indexes (aka. acceleration structures) to quickly locate the geometric primitive that is being hit. Because these indexes are hierarchical they allow for a logarithmic complexity: Above something like 1 million triangles the rendering time hardly changes any more.
Source: https://my.eng.utah.edu/~cs6965/papers/a1-slusallek.pdf