The following examples have been provided to help newcomers become acclimated to using Pilot Light extensions. The examples can be found in the examples directory.
To run the examples, first follow the build instructions here.
Next:
Example for running example 0:
cd src
build_win32.bat
cd ../examples
build_win32.bat
cd ../out
pilot_light.exe -a example_basic_0Example for running example 2:
cd src
chmod +x build_linux.sh
./build_linux.sh
cd ../examples
chmod +x build_linux.sh
./build_linux.sh
cd ../out
pilot_light -a example_gfx_2Demonstrates the bare minimum app. This app loads, runs 50 iterations of the update function (printing to console), then exits. Note: this app is not really meant to run. It is for reference.
Note: this app is not really meant to run. It is for reference. Demonstrates:
- loading APIs
- hot reloading
Demonstrates:
- loading APIs
- loading extensions
- starter extension
- basic drawing extension (2D)
- basic screen log extension
- basic console extension
- basic UI extension
Demonstrates:
- loading extensions
- starter extension
- basic drawing extension (2D)
- basic screen log extension
- basic console extension
- basic UI extension
Demonstrates:
- loading APIs
- loading extensions
- drawing extension (2D)
Demonstrates:
- loading APIs
- loading extensions
- hot reloading
- ui extension
Demonstrates:
- Dear ImGui integration
Demonstrates:
- vertex buffers
- shaders
- non-index drawing
Demonstrates:
- vertex buffers
- index buffers
- staging buffers
- shaders
- indexed drawing
Demonstrates:
- bind groups
- vertex, index
- samplers, textures, bind groups
- shaders
- indexed drawing
- image extension
Demonstrates:
- bind groups
- vertex, index, staging buffers
- samplers, textures, bind groups
- shaders
- indexed drawing
- image extension
Demonstrates:
- starter extension
- camera extension
- drawing extension (2D & 3D)
Demonstrates:
- starter extension
- camera extension
- render passes
Demonstrates:
- starter extension
- compute shaders
- image extension
- drawing extension (2D)
Demonstrates:
- loading the extensions required by the current renderer stack
- preserving application state across hot reloads
- initializing the starter, ECS, shader-variant, and renderer systems
- creating a renderer scene and view
- loading renderable ECS objects from glTF
- creating a camera and environment probe
- preparing and rendering a single view each frame
- presenting the renderer's output through the starter extension