Basic Samples¶
This section contains the basic samples that demonstrate fundamental aspects of the engine.
| # | Walkthrough | Topic |
|---|---|---|
| 1 | Basic rendering | Camera, descriptor sets, depth buffer and frames in flight |
| 2 | Render passes | Several passes that pass their results to each other |
| 3 | Push constants | Small per-draw-call data without buffers |
| 4 | Uniform arrays | Many elements of the same data behind one descriptor |
| 5 | Textures | Loading images, mip maps, samplers and barriers |
| 6 | Multisampling | Smooth edges with MSAA |
| 7 | Multithreading | Recording command buffers on several threads |
The samples in the repository build on each other: each one starts from the basic rendering sample and adds one technique. These walkthroughs follow that structure and describe only what each sample changes, so start with basic rendering and then pick whatever you need.
Running the samples¶
All samples share the same controls:
| Key | Action |
|---|---|
| F7 | Toggle V-Sync |
| F8 | Toggle full screen |
| F9 | Switch to the Vulkan backend |
| F10 | Switch to the DirectX 12 backend |
| Esc | Exit the application |
F11 and F12 are deliberately unused, as debuggers such as Visual Studio, RenderDoc and PIX reserve them.
To build the samples, configure the engine with LITEFX_BUILD_EXAMPLES enabled, which is the default. The executables and their shaders and
assets are placed in the binaries directory of your build.