News for hackers. Stuff that matters.
Re:The bullet effects in Terminator 2 weren’t CGI by thefunnyman on Sunday November 14, 2021 @08:13PM (#29222454)
This is also pretty common in video games where a mirror is just a window into another room with a duplicate player model.
Re:The bullet effects in Terminator 2 weren’t CGI by the_af on Sunday November 14, 2021 @09:52PM (#29223096)
It's what they did with Duke Nukem 3D, I know. But in videogames it's not a practical effect, but "CGI" by definition, so it impresses me way less ;)
Re:The bullet effects in Terminator 2 weren’t CGI by moring on Monday November 15, 2021 @05:07AM (#29225702)
That's not entirely accurate. DN3D required a large room behind the mirror (I'm saying this from the perspective of editing levels), but that room was completely invisible and did not have to look like the mirrored room at all. The mirror actually "mirrored" the scene. IIRC, if you disable collisions then you could walk through the mirror into that big room, which looked quite boring.

I always assumed that the "big room" was to avoid the culling algorithms / potentially-visible-set tripping over the mirror.

Re:The bullet effects in Terminator 2 weren’t CGI by fastball on Sunday November 14, 2021 @09:13PM (#29222858)
Seems like there should be a computationally less expensive way to do that.
Re:The bullet effects in Terminator 2 weren’t CGI by jjoonathan on Sunday November 14, 2021 @10:12PM (#29223234)
Screen-space reflections are faster and require no new scene draws, but they won't show you "new angles" on reflected objects and they won't go around corners. Planar reflections require a new scene draw, but that's actually pretty modest: non-planar reflections require six scene-draws for a cubemap or full on raytracing.

In general, lots of things in games require re-rendering the scene multiple times per frame, so game engines are really, really good at this. Shadows, projections, transparency / translucency, motion/depth blur, indirect lighting, deferred lighting, even things like hit testing (though for dependency + latency reasons that's a prime candidate for offloading to the CPU). Anything that requires less visual fidelity will have its performance tuned accordingly: fewer pixels, simpler shaders, lower LOD geometry, lower framerates. Nobody will notice if the fuzzy bounce lights are calculated once every five frames and blended.

Ray tracing is conceptually simpler but (so far) slower at any given level of cleverness -- you'll often hear that it has asymptotic benefits, but those same benefits can be pulled out of rasterizers with effort comparable to what is required to make the raytracing practical.

Here is a writeup of the passes you might expect to see in a modern engine: https://zhangdoa.com/posts/rendering-analysis-cyberpunk-2077

Here's an overview of a modern geometry pipeline: https://www.youtube.com/watch?v=eviSykqSUUw

Re:The bullet effects in Terminator 2 weren’t CGI by container on Monday November 15, 2021 @02:19AM (#29224708)
I don't think you could do a mirror with screen-space reflections.
Re:The bullet effects in Terminator 2 weren’t CGI by jjoonathan on Monday November 15, 2021 @08:31AM (#29227107)
Sure you can, people do it all the time, but I'll grant you that it kinda sucks (which is how I notice that people do it all the time). There are situations where everything you want to reflect is already on screen and the angular difference between the camera and reflected camera isn't enough to be noticeable. When those conditions are met, SSR is awfully tempting. Water is the usual suspect, but wall-mounted mirrors can work too if the camera will only see it from glancing angles and it's reflecting a wide-open space.

Tradeoffs, tradeoffs, everywhere.

Re:The bullet effects in Terminator 2 weren’t CGI by scotty79 on Monday November 15, 2021 @06:55AM (#29226360)
In blender eevee render that's famous for screen-space magic you can get realtime mirrors with "reflection plane" "light probe" by placing it over the surface that's supposed to be a mirror.
Re:The bullet effects in Terminator 2 weren’t CGI by chaboud on Sunday November 14, 2021 @10:06PM (#29223189)
Look up “instancing” with regards to geometry on GPUs. The mesh can just be rendered twice with different transforms.

That said, it often makes sense to drop some of the decorative flourishes used on the primary instance of the model due to distance, or use a different level of detail. There’s really no great way to get around needing to tell the GPU to render the triangles twice (short of rendering the view to an intermediate buffer and using that, which is still twice…)