pandemonium_demo_projects/3d/global_illumination
2023-04-06 20:35:17 +02:00
..
screenshots Initial commit. I'ts https://github.com/godotengine/godot-demo-projects 's master branch. commit: 219e37b5928594281e8cfd95d1db186fde975846 . 2022-12-31 23:03:26 +01:00
camera.gd Initial commit. I'ts https://github.com/godotengine/godot-demo-projects 's master branch. commit: 219e37b5928594281e8cfd95d1db186fde975846 . 2022-12-31 23:03:26 +01:00
cube.blend Initial commit. I'ts https://github.com/godotengine/godot-demo-projects 's master branch. commit: 219e37b5928594281e8cfd95d1db186fde975846 . 2022-12-31 23:03:26 +01:00
cube.glb Initial commit. I'ts https://github.com/godotengine/godot-demo-projects 's master branch. commit: 219e37b5928594281e8cfd95d1db186fde975846 . 2022-12-31 23:03:26 +01:00
cube.glb.import Initial commit. I'ts https://github.com/godotengine/godot-demo-projects 's master branch. commit: 219e37b5928594281e8cfd95d1db186fde975846 . 2022-12-31 23:03:26 +01:00
cube.glb.unwrap_cache Initial commit. I'ts https://github.com/godotengine/godot-demo-projects 's master branch. commit: 219e37b5928594281e8cfd95d1db186fde975846 . 2022-12-31 23:03:26 +01:00
default_env.tres Initial commit. I'ts https://github.com/godotengine/godot-demo-projects 's master branch. commit: 219e37b5928594281e8cfd95d1db186fde975846 . 2022-12-31 23:03:26 +01:00
icon.png Initial commit. I'ts https://github.com/godotengine/godot-demo-projects 's master branch. commit: 219e37b5928594281e8cfd95d1db186fde975846 . 2022-12-31 23:03:26 +01:00
icon.png.import Initial commit. I'ts https://github.com/godotengine/godot-demo-projects 's master branch. commit: 219e37b5928594281e8cfd95d1db186fde975846 . 2022-12-31 23:03:26 +01:00
project.pandemonium Renamed project.godot files. 2023-04-06 20:35:17 +02:00
README.md Initial commit. I'ts https://github.com/godotengine/godot-demo-projects 's master branch. commit: 219e37b5928594281e8cfd95d1db186fde975846 . 2022-12-31 23:03:26 +01:00
test_all.exr Initial commit. I'ts https://github.com/godotengine/godot-demo-projects 's master branch. commit: 219e37b5928594281e8cfd95d1db186fde975846 . 2022-12-31 23:03:26 +01:00
test_all.exr.import Initial commit. I'ts https://github.com/godotengine/godot-demo-projects 's master branch. commit: 219e37b5928594281e8cfd95d1db186fde975846 . 2022-12-31 23:03:26 +01:00
test_all.lmbake Initial commit. I'ts https://github.com/godotengine/godot-demo-projects 's master branch. commit: 219e37b5928594281e8cfd95d1db186fde975846 . 2022-12-31 23:03:26 +01:00
test.exr Initial commit. I'ts https://github.com/godotengine/godot-demo-projects 's master branch. commit: 219e37b5928594281e8cfd95d1db186fde975846 . 2022-12-31 23:03:26 +01:00
test.exr.import Initial commit. I'ts https://github.com/godotengine/godot-demo-projects 's master branch. commit: 219e37b5928594281e8cfd95d1db186fde975846 . 2022-12-31 23:03:26 +01:00
test.gd Initial commit. I'ts https://github.com/godotengine/godot-demo-projects 's master branch. commit: 219e37b5928594281e8cfd95d1db186fde975846 . 2022-12-31 23:03:26 +01:00
test.lmbake Initial commit. I'ts https://github.com/godotengine/godot-demo-projects 's master branch. commit: 219e37b5928594281e8cfd95d1db186fde975846 . 2022-12-31 23:03:26 +01:00
test.tscn Initial commit. I'ts https://github.com/godotengine/godot-demo-projects 's master branch. commit: 219e37b5928594281e8cfd95d1db186fde975846 . 2022-12-31 23:03:26 +01:00
zdm2.blend Initial commit. I'ts https://github.com/godotengine/godot-demo-projects 's master branch. commit: 219e37b5928594281e8cfd95d1db186fde975846 . 2022-12-31 23:03:26 +01:00
zdm2.glb Initial commit. I'ts https://github.com/godotengine/godot-demo-projects 's master branch. commit: 219e37b5928594281e8cfd95d1db186fde975846 . 2022-12-31 23:03:26 +01:00
zdm2.glb.import Initial commit. I'ts https://github.com/godotengine/godot-demo-projects 's master branch. commit: 219e37b5928594281e8cfd95d1db186fde975846 . 2022-12-31 23:03:26 +01:00
zdm2.glb.unwrap_cache Initial commit. I'ts https://github.com/godotengine/godot-demo-projects 's master branch. commit: 219e37b5928594281e8cfd95d1db186fde975846 . 2022-12-31 23:03:26 +01:00

Global Illumination

This demo showcases Godot's global illumination systems: GIProbe, BakedLightmap (indirect only and fully baked) and ReflectionProbe.

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

Language: GDScript

Renderer: GLES 31

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

How does it work?

A glTF scene (which acts as the level mesh) is imported with its Light Baking option set to Gen Lightmaps. This is required for BakedLightmap to work (but is not required for GIProbe or BakedLightmap).

The level mesh is duplicated several times to allow displaying it with various bake settings:

  • No baking (uses GIProbe or environment lighting).
  • Baked indirect lighting. Slower, but allows for real-time shadows to display on baked surfaces.
  • Baked direct and indirect lighting. Faster, but does not allow for real-time shadows to display on baked surfaces.

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, GIProbe or environment lighting will be used to provide fallback reflections.

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.


  1. This demo can be made to work with GLES2, but GIProbe will not work. Additionally, lightmaps have to be rebaked with the Atlas > Generate property disabled in BakedLightmap. ↩︎