![]() Sun shadow (how much of the sun is occluded from the voxel).Skylight (how much of the sky is visible from the voxel).Occupancy (multiple values describing how full each voxel is).The system stores all data in voxels, specifically for each voxel we have: All of the above happens on the GPU, as CPU is not fast enough to update so many voxels at such a high density. After this, we compute lighting data for each voxel in each grid, based on the occupancy in each voxel, and on the light sources / sun light direction. Each voxel contains occupancy information (0-100% full). all the way from 1 stud to 16 studs (5 grids in total). First, the world data is voxelized into a set of voxel grids - each grid is centered around the character and has increasing voxel sizes, e.g. This is a significant evolution of our existing voxel system. This document has a number of screenshots the layout is always such that the screenshot on the left is using voxels, and the screenshot on the right is using shadow maps. ![]() It’s important to understand how both of them work to understand the limitations. Two future systems have been prototyped to help guide our decision, which will be discussed further in this document we’ll call them “Voxels” and “Shadow maps”. Lighting is complicated - we should be careful when selecting the next generation technology, as there are many factors/tradeoffs to consider. ![]() It has served us well over the last 4 years, but it needs an update to match the future vision. We currently use one lighting system across all of Roblox, which is using voxels and is updated incrementally/lazily on CPU. Future Is Bright - Comparison | future-is-bright future-is-bright Prototyping future Roblox lighting technology View on GitHub Overview ![]()
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |