Eevee: Cycles Glossy Shader was a better Mirror


(Otto_Lai) #1

I opened a scene built with cycles that had a mirror. Using Eevee, the mirror doesn’t seem to reflect as much. I enabled Screen Space Reflections but just can’t seem to get it to work.

Any advice is appreciated. Thanks!


(Otto_Lai) #2


(Otto_Lai) #3

here is the EEVEE reflection…I was looking for some way to increase the ray bounces (what I would have done in Maya)

ALSO attaching the scene file for Eevee and texture:
CHAZ’S BATHROOM!!!_v02.blend (960.6 KB)


(abdoubouam) #4

short answer : use a planar reflection.

long answer:

It’s normal that Screen space reflection doesn’t work well. It’s called “screen space” because only what is visible on the screen can be used to pull some reflection detail (in other words if you can’t see the other side of the bathroom it won’t be visible in reflections)

Why is it used? Well, because raytracing is very expensive and is extremely slow. Also, it is intended to be used as an additional option. For example let’s say you have a first-person shooting game. Let’s say you are very limited in GPU performance and only have to use precalculated cube map reflections. As you would expect, you won’t see dynamic elements (like characters, for example) reflected on your weapon. If you really want that, you can use SSR to get some of those characters reflected on your weapon, and where it fails (ie: reaches a distance limit without finding a correct “hit” or the information is outside of the rendered frame) it falls back to your static, prebaked cubemaps. Compositing those on surfaces that have a bit of roughness and/or bump works fine, but it doesn’t work well on sharp surfaces like mirrors.

Cubemaps might work here for the parts that are not visible, but it will give distorted reflections if not used correctly.

But there is another type of reflection you can use : Planar reflection. It is one of the olders tricks in the book, the idea behind this is to position a camera behind the mirror in a symmetrical way to your current camera, render a frame, then put it where you need to (of course you don’t do this manually, it’s the render engine you use/create that does it for you).

I haven’t personally tested this in Blender (or any other software, really) but I read about real-time rendering a bit. I hope you find it useful


(SterlingRoth) #5

Eevee has planar reflection probes built in, and they work pretty well:


(Otto_Lai) #6

THANK YOU, SterlingRoth!