Introduction
In cases when you render glossy surfaces such as:
- window
- glass wall
- floor (this is especially relevant in Virtual Environments)
Reflections help us to create a more realistic virtual reality
There are generally four solutions for this:
- Specualar Reflection
- Screen Space Reflection
- Environment Mapping
- Planar Reflection
- Ray Tracing
Generally for non-realtime rendering Ray Traced Specular Reflection is used. But for performance reasons in the above mentioned cases, a more elegant technique should be presented for realtime rendering.
Environtment Mapping
Environment Map is an image of the environment wrapped on the object. This can be good enough solution if the reflecting surface has a complex shape, but it does not work well on flat surfaces, for example glass or mirror.
In Aximmetry this has to be applied on the shader.
In Unreal Engine this has to be applied on a so called Reflection or Environment Probe.
Environment Maps has multiple projection types, the most commonly used are:
- Cube Map
- Cilindrical Map
- Spherical Maps
Tutorials
How to set up EM in Unreal Engine?
https://docs.unrealengine.com/en-US/RenderingAndGraphics/Textures/Cubemaps/index.html
How to set up EM in Aximmetry?
https://youtu.be/leqVJhmy_zQ?t=645
Screen Space Reflection
ScreenSpace Reflection (SSR) is a full screen post processing effect that calculates reflections. Due to this approach, reflections are sometimes problematic.
This includes:
- Anything near the edges of the screen
- Anything not directly in your field of view
- Objects hidden behind other objects
- The sides of objects facing away from the camera
- See-through objects
- Billboard reflections
Please note that Aximmetry does not povide SSR, since for broadcast productions, SSR reflection quality is not satisfactory.
In Unreal Engine, on semi-reflective surfaces, by default SSR is used.
Tutorials
How to set up SSR in Unreal Engine?https://docs.unrealengine.com/en-US/RenderingAndGraphics/PostProcessEffects/ScreenSpaceReflection/index.html
Planar Reflection
Planar Reflection (PR) renders the virtual reality twice:
- normal image
- mirrored image
This doubles the render time. Aximmetry helps to reduce the impact on performance, limiting the resolution of the mirrored image.
By default, this is set to 1/2 of the original. (If you have plenty of performance, you can change this. )
We recommend to use PR at least on the floor, since this makes the virtual reality much more accurate and it is worth the trade-off for the impact on performance.
Tutorials
How to set up Planar Reflections in Unreal Engine?
https://docs.unrealengine.com/en-US/BuildingWorlds/LightingAndShadows/PlanarReflections/index.html
How to set up Planar Reflections in Aximmetry?
https://aximmetry.com/wiki/index.php?title=Complete_Studio_Scene_-_06_-_Reflections
Real Time Ray Tracing
Ray Tracing is a very new rendering technique and it impacts performance hugely, so we do not suggest using it.
Tutorials
How to set up RT in Unreal Engine?
https://docs.unrealengine.com/en-US/RenderingAndGraphics/RayTracing/index.html
SEE ALSO:
- Mirror Offset