What is this project?
Voxel lighting technology is obviously not too close to future lighting system. So I decided to make a custom lighting system built on top of voxel (or essentially overhauling it). I plan on turning Voxel into a performant version of future lighting.
This Project is split into phases, there are currently 3:
- Phase 1: Dynamic Volumetric Lighting
- Phase 2: Reflections
-Phase 3: Particle Shadows
Why do I want to do this?
Well It’s because I thought, Voxel is a great lighting system for performance and multi-device support, but its not really on par with future. So I thought, Why not overhaul Voxel?
Phase 1: Dynamic Volumetric Lighting
This allows volumetric lighting to be available on roblox! This system is seriously performant, The calculations update 15-24 FPS and depend completely weather the player is within a certain range from the lightsource. This makes it so that not all lightsources with this effect equipped arent always updated all over the map, This has been tested on a low end device and man did it work wonderfully, Here’s a video (the video has a terrible FPS because of roblox recorder):
Phase 2: Dynamic Reflections
Implementation of Dynamic Reflections especially for Voxel (A feature roblox doesnt even have). This is obviously planned to be focused on performance, meaning this is also going to be ranged based and has low quality and a normal (20-30) FPS.
This is currently being made and in testing, I dont have a video rn.
ALright after some testing, I realized a few things:
A low end device can handle 1 surface reflection with a quality of 65x65 with the only issue being significant yet temporary (like a split second) drops in Physics FPS. So its going ot be worse if its more than 1. So I devised a plan to not only make the FPS variable (constantly half or a quater of the player’s physics fps), I also going to make it 15x15 instead of 65x65 for low ends.
Phase 3: Undecided
still trying to figure out how to make voxel even more realistic.
Changes to the project:
I originally wanted to also make a custom shadow renderer, until i realized that Voxel already has them, so its useless.
Please note that i didnt do this project without some help, So i’ll love to thank everyone who helped me with this project.