|
evan 2026.1.4
Evan
|
This tutorial walks you from an empty project to a working Evan setup. It assumes you have already built the library.
Evan requires exactly one backend (BUILD_FOR_OPENXR or BUILD_FOR_GLFW) and one platform (BUILD_FOR_ANDROID, BUILD_FOR_LINUX, BUILD_FOR_WINDOWS, or BUILD_FOR_MACOS).
Evan delegates platform-specific behavior to a Platform implementation. For a desktop GLFW build, use the provided desktop platform; for XR, use the OpenXR platform.
The evan::Engine receives the platform and prepares Vulkan resources. It also accepts optional evan::RenderSettings: multisampling is disabled by default, and the sample count is baked into the swapchain render pass, so it can only be chosen at construction time.
Add renderable objects (meshes, primitives, models, or text) through the Engine:
Each add*() call registers a render object in the engine and returns its object ID, which can later be passed to removeObject().
The engine drives the frame loop: it polls events, updates state, records commands, and presents the image.