Realtime path-tracing
There is nothing more exciting in programming than designing a graphics application. We are happy to annouce that 3D plots now support realtime path-tracing.
There is nothing more exciting in programming than designing a graphics application. Thankfully, there is one person on Github Garrett Johnson, who implemented a path-tracing algorithm on top of the well-known THREE.js graphics engine. Moreover, it fully supports features from the original library and can be anytime flipped as a main renderer.
We hooked up this library to works as a secondary engine for Graphics3D. Just pass it as an option:
Graphics3D[{Cuboid[], Directive["Emissive"->Red, "EmissiveIntensity"->100], Sphere[{1,-1,1},0.3]}, "Renderer"->"PathTracing"]And it will bake a realtime photorealistic image. It also supports all properties used in traditional rendering like "Emissive", "Metalness" and many more!
Some classical examples from Wolfram Mathematica

 1.3a06d11c.png)
You might recognize those examples from Graphics3D official documentation page.
Limitations
- The dynamic scenes now are not supported, but can be added in theory according to the documentation of the path-rendering library.
- It requires a dedicated GPU (actually with Intel UHD integrated graphics it works, but demands an extremely long time to compile shaders to start rendering). However, iPhones, Androids can still handle not very complicated scenes.
- Safari crashes (Firefox, Chrome, Vivaldi work well)