← All ideas
  • Published 22 May 2019

Realtime reflections and refraction in animation

Crytek has released its realtime reflections and refraction capabilities for download ( cryengine.com/news/crytek-releases-neon-noir-a-real-time-ray-tracing-for-cryengine ). making it available for AMD and NVIDIA cards. It is claimed to be hardware agnostic; so Windows Mac and Linux will play nicely with it.

Perhaps it can be integrated with Cycles to improve animation photorealism results?

Disclosure: I'm not a developer or fluent in link inclusion but the story appears authentic and I believe Microsoft and Rhino are already looking at it.

0%

Development Status: Archived

Upvote 0 Downvote 1
Roadkill
22 May 2019

6 Comments

jason

Neon Noir is a demo that uses Cryengine. Unless something has changed recently that makes Cryengine compatible with the GPL, this simply can't happen. Not with this engine.

Josephbburg

Ray tracing is a biased rendering technique. Cycles is an ubiased, physically based renderer, with the option to bias. It's not a similar technology-- Cycles uses a path-tracing integrator to converge its samples.

I know the terms are confusing, and they sound similar, but there's a big technical difference. But more than that, the link you've posted is to a closed-source software. Blender can't include software unless its license is compatible with th GNU GPL2 license.

Roadkill Author

Sorry about that. But thanks for looking in to it and enlightening me. So, when AMD supports raytracing that's for gaming only?* @Josephbburg *

Josephbburg

Improvements in graphics hardware will improve offline rendering, too (Offline rendering is rendering that is not real-time). The technology that makes realtime ray-tracing possible should be possible to leverage for other uses. The same math is used for either case. I think one of the Minecraft mods that use RTX cards is a path-tracer that uses only a few samples per pixel. Also, there's a lot of demand for implementing realtime raytracing into EEVEE. But this is a long way away, unless more developers come onboard.

More explanation: Ray tracing sends a ray from the camera to a surface, then calculates the light by shooting rays from that location. A this point, if it hits a light, then it is used for illumination. If the surface it hits is refractive, the ray will bend, and if it hits a reflective surface, it will search for lights at the reflection angle.

Ray tracing doesn't do a good job of simulating complex light interactions, where some of the light rays take different paths than others (since ray tracing takes one sample per pixel). Path tracing simulates the traversal of light with a BSDF (bi-directional surface distribution function)- which is a way of modeling the overall likelihood that light will bounce in one direction or another. Hundreds of rays are shot into the scene for every pixel, and light is distributed by the function. Light may bounce many times for each sample, and each surface the ray bounces off of contributes to its brightness. Each sample, then represents the path of a light ray as it travels from the light source to the camera (but it's traced in reverse, since shooting rays from the light would send hundreds of rays into the scene that never find their way back to the camera!) The samples are added together and averaged for each pixel.

Path tracing is great because it can simulate any lighting situation without the need to tweak, cheat, and micromanage materials and lights.

crumpley

Link is broken. Try this one: CryEngineNeonNoirRaytracing

Roadkill Author

Thanx! * @Stephen Bailey *