Future Is Bright: Phase 1 Released

We can’t use voxel lighting yet because a lot of the buildings end up looking like this. Does anyone know a way to circumnavigate this, or fix it?


If you PM me the place file we can take a look. I think we had some changes for anisotropic occupancy that we ended up not using because they were causing other issues, but maybe we can fix something. Thicker walls may help… (or duplicating the wall a couple of times in place).


With the way the buildings are built in the game, making the walls thicker would be impossible without a full remodel of the area, and part duplication wouldn’t be good on performance, since this issue is quite constant around the town area

1 Like

Thanks for the reply! Duplicating parts didn’t seem to have the desired effect, and the roof would have to be thickened to an unreasonable degree for the lighting to work indoors (the roof would be as tall as the building).

Here’s the link if you wanna take a look around


Gotcha, thanks. Looks like it’s a typical “house with thin walls” problem that we haven’t fully solved yet. For what it’s worth, adding SurfaceLight objects with Face=Bottom to the overhead light parts cleans this up a bit so that the artifacts on the edges/in the corners are somewhat less objectionable. We’ll see if we can improve this in the future…


I would do that if I could, but these buildings are meant to have no power in the game. I appreciate the updates though, the caves in the game look awesome



Quoting from the post:

Finally, we now compute lighting math in linear space (which is roughly how it should work in real life) and can store a very high range of lighting values in the grid, which means that light impact is no longer limited to 1.

What do you mean by light impact is no longer limited to 1? Is that saying that if I create a room with a window that instead of just showing light on the floor it will emit to the surrounding objects and walls?


1 Like

You’re thinking of global illumination. From what I can tell, light impact is no longer limited to 1 means is that surface brightness values > 1 actually have an impact.

Here’s a side-by-side comparison. From left to right, PointLights with 1, 2, 15, 60, 999 brightness.

Using the legacy renderer:

With the new voxel renderer:

There’s a clear difference.


One option - obviously this is a workaround and we should improve the lighting engine so that you don’t need to do this - is this…

I added a wedge with size 2.7/2.7 (depending on the building-voxel alignment, 2-3 studs might be necessary to hide the seam).

This should not have much of an effect on performance, and doesn’t make the building look different from outside. Of course if you actually light the building up these wedges look a bit weird, but it’s an interesting option to explore up until we figure out a solution for this problem in engine.


Previously the sum total of the intensity of all lights that affected each voxel and the delta between OutdoorAmbient and Ambient (if Ambient is set to black then this is just OutdoorAmbient) couldn’t exceed (1.0, 1.0, 1.0). This meant that the lighting - except for sun - could never make a surface brighter than it already was without lighting, it could only make it darker.

Now we carefully preserve as much data as possible and allow bright light sources to make surfaces nearby that are affected by them brighter, up to almost arbitrary point. This is one of the big improvements that allows to have much more contrast and makes builds look less dull.


FWIW the default bloom settings would cause this effect but you can always control this by adding a Bloom instance to your level and decreasing Intensity or increasing Threshold. With the new system Threshold must be generally set outside of a 0…1 range, I think our new default is 2.0 but you can go up to 4.0 easily.

1 Like

actually threshold 1 with max spread and 0.1 intensity works already wonders for a very subtle glare at our current place :smile:

delicious, finally some good food.


Really nice, I like this new lighting, though I have to say, as others have mentioned, the saturation level of colors is a bit strong. But its new, and either it will get worked out, or we will get used to it :stuck_out_tongue:

Either way, great job!

Yeah the tonemapper distorts colors a bit; it’s not as significant as the very first version was. It was kinda necessary to avoid some issues with default setup of neon etc. You can reduce the saturation using ColorCorrectionEffect though.

Also we’re thinking of exposing tonemapper parameters directly to let you control this in the future.


While this is an awesome update, and could probably look great with the right settings, I have no clue what’s going on here, but turning on “Voxel” technology makes everything really dark and desaturated, which looks worse in my opinion. It does help lights show up more, but the lack of coloring or brightness is really throwing me for a loop.

With Voxel:

With Legacy:


In case you haven’t done it yet, you do need to adjust lighting settings (and perhaps add some lighting effects) to make it look proper.

Just flipping Legacy to Voxel won’t do the job on its own. :wink:


Mm you have a point.

Still playing around with settings.

If i have ColorCorrection, everything becomes overshot or whatever the term is when everything is bloomed. Still messing around with it though.


So I’ve done some experimenting with the voxel lighting and I have noticed something that I consider really strange when it comes to dealing with a platform like roblox.

These are two gifs I have taken of some underground areas of my game where I toggle the new lighting on and off.

My observation is that between when I enable (or disable) the new mode, to the point where it is actually in effect differs in between because not all of the effects of the new lighting loads it at the exact moment I enable it, it slowly loads in or enables the different effects.

What I’m noticing is that it’s effecting things like shadows, contrast, bloom, and effects that appear to be provided in other features on roblox. It’s almost as if when the lighting is inbetween loading/unloading that it looks best rather than the final product.

Since contrast, bloom, and other post-processing effects are already independant options to be set by the developer I don’t really see why the lighting effects the appearance of those effects.

Note that the colours of certain lights become a lot more intense and darker or brighter when the effect is enabled, which is a silly change when I can otherwise affect that with post processing effects. The neon parts are also affected to act differently than before (note the dark blue screens on the computer panels)

'Course I recognize this is a beta and that you’re still working on it and perhaps this isn’t intentional, I don’t think that enabling the new lighting should change the colour patterns and post processing appearance quite as much as it does in this demonstration, because those are already options available to the developer.