Developer postOriginal post (opens in a new tab)

S2ENGINE HD 1.4.6 B8 PREVIEW #3

Hi guys,

First I'm sorry with all of you for the delay,
I'm relocating to a new office so I haven't had so much time/possibility to be online.

In the meanwhile I've worked to the engine as much as possible, in particular I focused my attention to the dynamic cubemap reflections feature.

CUBEMAP REFLECTION OPTIMIZED

All of you know that when checking Realtime cubemap reflections the framerate misses about 10 FPS (!!!!).
This is due to the fact that, for drawing reflections into the cubemap, the scene must be drawed 6 times (even if simplified a lot).
For improving things I've worked on to 2 sides:

REFLECTION PROXY
I've added a new parameter to the meshObjects for loading a proxy mesh to be used into reflections. When drawing objects into the reflections cubemap The system works as following:
1 - Looks for impostor
2 - if impostor not found the system looks for reflection proxy
3 - If reflections proxy not found the system uses the last available LOD

FRAME RE-PROJECTION
Reflection proxies aren't sufficient for speeding-up cubemap rendering, also they need additional work (proxy must be modelled).
How to speed-up things without forcing users to produce new models?
Well...
I've found an elegant solution to the problem:
why don't draw only one cubenap face at frame?
In this way cubemap rendering increases about 6 times BUT at a cost, a single cubemap face is updated every 6 frames which is not much good due to reflections frame loss when camera moving.
So how to reduce this side-effect? JUST reprojecting the face for the remaining 5 frames basing on camera movements! :), in this way the cubemap rendering speeds-up 6 times and the frame loss effect is sufficiently reduced. :D
In addition I've added a parameter for setting how many frames cubemap faces must be updated so you can control Quality/Speed ratio.

For now it is all, B8 release is close...
Stay tuned