Files
godot-demo-projects/3d/global_illumination
Hugo Locurcio 5f4a9e409f Use InputEventMouseMotion.screen_relative where relevant in all demos (#1232)
This provides mouse sensitivity that is independent of the viewport
size, without needing to query for project settings.

This also inverts the mouse motion direction in the 3D navigation demo
to better match expectations, and increases mouse sensitivity in the
Window Management demo to be closer to other demos.
2025-10-01 18:54:19 -07:00
..
2025-03-21 02:00:41 +01:00
2022-01-25 18:18:47 +01:00
2022-01-25 18:18:47 +01:00
2025-03-21 02:00:41 +01:00
2025-03-21 02:00:41 +01:00
2024-06-01 12:12:18 +02:00
2025-03-21 02:00:41 +01:00
2025-03-21 02:00:41 +01:00
2022-01-25 18:18:47 +01:00
2022-01-25 18:18:47 +01:00
2025-03-21 02:00:41 +01:00

Global Illumination

This demo showcases Godot's global illumination systems: LightmapGI, VoxelGI, SDFGI, ReflectionProbe and screen-space effects like SSAO and SSIL.

Use the mouse to look around, W/A/S/D or arrow keys to move.

Language: GDScript

Renderer: Forward+

Check out this demo on the asset library: https://godotengine.org/asset-library/asset/2737

How does it work?

A sphere and box are parented to the camera to showcase dynamic object lighting. A ReflectionProbe is parented to the sphere to showcase real-time reflections. When the ReflectionProbe is hidden, it is disabled. In this case, VoxelGI, SDFGI or environment lighting will be used to provide fallback reflections.

A Decal node is parented to the moving sphere and cube to provide simple shadows for them. This is especially effective when using the LightmapGI (All) global illumination mode, which doesn't allow dynamic objects to cast shadows on static surfaces.

Screenshots

Screenshot

Licenses

zdm2.glb is derived from the Cube 2: Sauerbraten map "zdm2" and is licensed under CC BY 4.0 Unported. The OBJ file which it was converted from is available in the game-maps-obj repository.