Future is Bright Phase 3 was in beta for quite a while and finally we’re ready to enable it on desktops (D3D11, Vulkan, Metal) for everybody to use. This was a huge team efforts, many thanks to the whole rendering team (@zeuxcg, @Qiblox, @ConvexRumbler, @Homeomorph, @NeoBuilder101, @vrtblox, @iiostream, @fnublox, @lsingh2, @BeachBumRB, @RBLXImagineer, @programeow and others) for being amazing!
How do i use it?
- New lighting technology: Future
- Shadows property of lights now affect per-pixel lighting
How does it work?
Phase 3 is all about pixel perfect local lights (Spot, Point and Surface) and shadows. We evaluate physically based lighting introduced by Phase 2.5 per-pixel for each local light including shadows if they are active. The number of per-pixel lights as well as number of shadowed lights is limited in each particular frame so the rule of thumb is to have as few local lights as possible. Shadowed lights are significantly much more expensive than their non-shadowed counterparts. Spot shadows are the cheapest (if their angle is reasonably narrow, say below 120 degrees), then comes surface light shadows (again, if their angle is reasonably narrow) and the most expensive (by a margin) are point shadows. If surface of spot light angle is wide those effectively becomes almost as expensive as point shadows. Surface light shadows are somewhat limited due to the size of the light and resolution of shadowmap so those should be used carefully.
To achieve best performance, per-pixel lighting distance depends on the current quality level and on platforms/devices that don’t support it would fallback to ShadowMap (or Voxel if ShadowMap is not supported).
Unlike other lighting modes Future does proper specular highlights for local lights so the material choice is more important than ever.
There might be some visual disparity between Voxel and Future and from our experience this is mostly caused by having some large fill lights that are visible in Voxel (for example, Cast Shadow flag is on and the light is real close to floor/ceiling so in Voxel mode there’s no shadows but in Future there are which in turn creates huge difference in brightness). The other source of difference could be that Future lights account for normal when calculating lighting and Voxel don’t but this should be tackled by some extent with upcoming indoor IBL changes.
Here are some screenshots with “Future is Bright” phase 3 enabled
What’s next?
Phase 3 will be enabled on mobiles supporting Metal and Vulkan after further testing and optimization passes.
We’re working on improving indoor IBL so expect some changes in how indoor looks with fib3 but hopefully nothing major.
We’re super excited, and we are looking forward to seeing how your games will look like with this new awesome feature!