Future is Bright Phase 3 Released

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?

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!


What will be included in phase 4? We really want to see that one.


This is great! Good job roblox fixing the bugs.


Cant wait for showcases to look even better! Great addition!


This is exciting, will experiment, however when will we have an option to tweak the specular, diffuse and other attributes of the lighting like intensity and also when will we be able to tweak the parameters of surfaceappearance textures?


Nice work, Can’t wait to see how much better things will look


Definitely a fan of this update.


There is a phase 4? I dont recall there being a phase 4


Wow! you guys really fixed the bugs on it, can’t wait to use this on my current animation!

1 Like

I don’t think phase 4 will be released anytime soon, if it ever will actually. this was the last phase of Fib. Correct me if I’m wrong.


This is great, but I am currently unable to properly use Future is Bright on my projects due to the fact that the specular reflections of light objects cannot be controlled. Most of my games use Concrete and there’s no way to control their reflections, which makes everything look super weird.


Great! I am excited to use that on my private game. Very well done!


Absolutely stunning update overall, the wait was worth it.

Are there any plans to improve moving lights in the future? I notice that when a game has enough lights, the refresh rate is significantly decreased. I honestly think this should be accounted for on graphics 10 quality OR a special setting that is enabled in lighting for this. Use cases: Car games, train games, horror games with flashlights, etc.


Hell yeah! Another step towards recreating real life in Roblox.
I still wonder if many top games will be able to use this, even when it’s fully released for mobile with optimization improvements, as quite a number of players on the most popular games are on phones or tablets. Would this be a viable option while still trying to avoid increasing crash rates? I noticed that “further testing and optimization” will be done to support mobile, so I hope that helps :smile:
Again, much appreciation for FIB Phase 3! This is gonna make so many games so much cooler.


I am so excited for this, I’ve been working on 2 games that both take huge advantage of FIB3, so glad it’s out before we release!


That’s really cool! Really waiting for the phase 4 wondering what will there be.


I love the new lighting system! I did find a bug if anyone’s interested though:

I have a script that will set GlobalShadows disabled if it detects low framerate. In the case of Shadowmap, it works perfectly, but unfortunately in Studio when I use future it causes a bug like this

Windows lowers framerate when you switch away tabs, so to get this to happen I just had to click off of studio to lower my framerate and then click back.

This also happens in the game client. Hope this helps!


In the other one, they said

So it is not the last.

1 Like

Awesome, I’ve been waiting for this since 2017!

One question, though. Are there plans to increase the range cap? A range of 60 is far too short for many use cases such as car headlights.


This is awesome! However like @Ultimate_Miner64 said, are there any plans to increase the light range?