Is there a way to simulate a mirror(realtime) now?

#1
Hey, I am working on a specific interior scene which needs a mirror , and it's important because the mirror is the core in this scene. I have tried both environment probe and SSR but neither of them acquired what I expect. The Env Probe can only relect static meshes with generating cubemap. And SSR can not reflet objects vertical(or nearly vertical) to the mirror. But it seems cryengine does not have a planar reflection method (or does it?).
So is there any tricky way to do a realtime reflection like planar relection? Performance should be Ok with me cause the scene is interior and the mirror is not big.
Thanks.

Re: Is there a way to simulate a mirror(realtime) now?

#6
strangely enough, there's some sort of real-time reflection already implemented in CE, it just doesn't work for normal (90 degrees) rays...screenshot0245.jpg
It's screen space reflection(SSR) method, just copy-invert-paste.
If you turn your camera Pitch down, you would notice that those part of the car not in the screen will not be reflected, cause SSR only reflect object has already been rendered on screen.
It also created artifacts ,such as this:
hunt_ssrError.jpg
hunt_SSR_error
hunt_ssrError.jpg (361.86 KiB) Viewed 1352 times
This kind of artifact is very obvious especially for high reflective surface such as water, mirror, smooth metal, etc. If you hold a gun of right color(such as red gun in 3rd person template) and stand beside water, it's will be a mess. such as(the reflection of the mountain beyond the scrren is cubemap reflection, this screenshot used both SSR and cubemap)
typicalError.jpg
red gun
typicalError.jpg (133.47 KiB) Viewed 1352 times
I'd rather use cubemap to "reflect" all static objects instead for high reflective surface.
Well SSR is good for some middle reflective surface cause it could be blured .
Although SSR is much more cheap than planar reflection, I think planar reflection is still neaded sometime.

Re: Is there a way to simulate a mirror(realtime) now?

#10
Although SSR is much more cheap than planar reflection, I think planar reflection is still neaded sometime.
Totally agree. As a matter of fact planar reflection was needed like yesterday... I remember there were mirrors in Duke Nukem 3D back in the 1996 or such (or maybe just a smart faking method ?!)...
That just rendered a inverted copy of the scene, also many old games use texture cube maps to fake reflections, HL2, MaxPayne 2, Doom 3 are some that come to mind and you can also swap cube maps in real time, to make dynamic mirrors but of course that will be expensive. The best would be to have render to texture but Cryengine lacks that because is a deferred render engine and that makes it very hard, if not impossible, to do render to texture. I didn't saw any mirrors on Stalker either and its engine is a full deferred render one, was one of the first. Unreal engine 4, Unity etc are forward+ engines if i'm not mistaken.
Real-Time Local Reflections
Mirror reality and ensures the objects and surfaces in your world accurately cast and capture reflections

Reflections are one of the biggest challenges to render in real-time, particularly for engines with deferred rendering. CRYENGINE introduces a new method: Real-Time Local Reflections (RLR).

RLR approximates ray-traced HDR reflections local to objects, which allows for any kind of surface in the scene to reflect its nearby surroundings efficiently in real-time.

Who is online

Users browsing this forum: No registered users and 1 guest