IP Library Granted Patent US 9,245,376
Granted Patent B2
US 9,245,376 · App. 13/894,019 · Granted Jan 26, 2016

Lighting management in virtual worlds

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,245,376
App. No.
13/894,019
Granted
Jan 26, 2016
Kind
B2
Abstract

A system has a server with a processor, a storage medium and coded instructions executable on the processor causing the server to display a video game to a player operating a computer, the video game comprising a virtual world having objects with surfaces, movable in the space of the virtual world by the player, and one or more light sources, create and manage a voxel grid associated with the player, compute an occupancy value for individual ones of the cells of the grid, compute an illumination value for cells of the grid by consideration of position and direction of the light sources, the occupancy value of the cell, and illumination values of immediately adjacent cells in the voxel grid, and determine brightness for pixels in display of surfaces of objects in frames of the video game based on the illumination values of cells proximate to the surfaces of the objects.

Claims (36)

1. A system comprising:

a network-connected computerized server having a processor and a non-transitory physical storage medium; and

coded instructions executable on the processor, the coded instructions when executed causing the server to:

display a video game in an interactive interface to a player operating a computerized appliance connected to the server on the network, the video game comprising a virtual world of defined spatial dimensions having objects with defined dimensions and surfaces, one or more of the objects movable in the defined space of the virtual world by the player through one or more input mechanisms of the computerized appliance, and one or more light sources defined by position and direction in the virtual world;

create and manage a voxel grid associated with the player, the voxel grid comprising a plurality of cells in a three-dimensional array occupying a portion of the space of the virtual world;

compute an occupancy value for individual ones of the cells of the voxel grid, the occupancy value depending at least in part on a portion of a cell occluded in the direction of a light source by at least a portion of one or more of the defined objects;

compute an illumination value for individual ones of the cells of the voxel grid by consideration of one or more of the position and direction of the one or more defined light sources, the occupancy value of the cell for which an illumination value is to be determined, and illumination values of immediately adjacent cells in the voxel grid, the immediately adjacent cells selected depending on direction of a light source; and

determine brightness for pixels in display of surfaces of objects in frames of the video game based at least in part on the determined illumination values of cells proximate to the surfaces of the objects in the virtual world.

2. The system of claim 1 further comprising:

normalizing illumination values to a value between zero and one inclusive.

3. The system of claim 1 further comprising:

diminishing illumination value of a cell by the occupancy value determined for the cell.

4. The system of claim 1 further comprising:

creating and managing a second voxel grid associated with a second player of the video game.

5. The system of claim 1 further comprising: redetermining illumination values for individual ones of the cells in the voxel grid in response to the player causing an object in the virtual world to be moved by a specific dimension in a direction.

6. The system of claim 5 further comprising: dividing the voxel grid into individual regions and redetermining illumination values for individual ones of the cells in the voxel grid only in one of the individual regions in response to the player causing an object to be moved.

7. The system of claim 5 further comprising: moving the voxel grid in the virtual world in the direction and by the dimension that the object is moved by the player.

8. The system of claim 1 further comprising:

selecting a cell in the voxel grid to use for illumination value for a portion of a surface by considering a normal to the surface pointing to an adjacent cell.

9. A method comprising:

displaying by a network-connected computerized server having a processor and a non-transitory physical storage medium and coded instructions executable on the processor, a video game in an interactive interface to a player operating a computerized appliance connected to the server on the network, the video game comprising a virtual world of defined spatial dimensions having objects with defined dimensions and surfaces, one or more of the objects movable in the defined space of the virtual world by the player through one or more input mechanisms of the computerized appliance, and one or more light sources defined by position and direction in the virtual world;

creating and managing a voxel grid associated with the player, the voxel grid comprising a plurality of cells in a three-dimensional array occupying the a portion of the space of the virtual world;

computing an occupancy value for individual ones of the cells of the voxel grid, the occupancy value depending at least in part on a portion of a cell occluded in the direction of a light source by at least a portion of one or more of the defined objects;

computing an illumination value for individual ones of the cells of the voxel grid by consideration of one or more of the position and direction of the one or more defined light sources, the occupancy value of the cell for which an illumination value is to be determined, and illumination values of immediately adjacent cells in the voxel grid, the immediately adjacent cells selected according to direction of a light source; and

determining brightness for pixels in display of surfaces of objects in frames of the video game based at least in part on the determined illumination values of cells proximate to the surfaces of the objects in the virtual world.

10. The method of claim 9 further comprising:

normalizing illumination values to a value between zero and one inclusive.

11. The method of claim 9 further comprising:

diminishing illumination value of a cell by the occupancy value determined for the cell.

12. The method of claim 9 further comprising:

creating and managing a second voxel grid associated with a second player of the video game.

13. The method of claim 9 further comprising: redetermining illumination values for individual ones of the cells in the voxel grid in response to the player causing an object in the virtual world to be moved by a specific dimension in a direction.

14. The method of claim 13 further comprising: dividing the voxel grid into individual regions and redetermining illumination values for individual ones of the cells in the voxel grid only in one of the individual regions in response to the player causing an object to be moved.

15. The method of claim 13 further comprising: moving the voxel grid in the virtual world in the direction and by the dimension that the object is moved by the player.

16. The method of claim 9 further comprising:

selecting a cell in the voxel grid to use for illumination value for a portion of a surface by considering a normal to the surface pointing to an adjacent cell.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Feb 10, 2021
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: ROBLOX CORPORATION
Reel/Frame 055221/0252 →
SECURITY INTEREST Recorded Feb 15, 2019
From: ROBLOX CORPORATION
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 048346/0255 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2013
From: KAPULKIN, ARSENY; BASZUCKI, DAVID; KOZLOV, SEMEN
To: ROBLOX CORPORATION
Reel/Frame 030414/0361 →