Lysa Nodes  0.0
Lysa Nodes — Scene Graph for the Lysa Engine
Integration

Dependencies

Lysa Nodes requires a working Lysa Engine setup. Refer to the engine's own integration guide for compiler, CMake, Vulkan SDK, and Slang requirements. In addition, Lysa Nodes itself requires:

  • A C++23 compiler with C++ module support (same requirements as the engine).
  • CMake 3.29+.
  • The Lysa Engine already integrated as a CMake subdirectory or submodule in your project.

Integration

Lysa Nodes is intended to be used as a Git submodule or a CMake subdirectory alongside Lysa Engine.

1. Add Lysa Nodes to your CMakeLists.txt

Add the subdirectory after the engine, then link against lysa_nodes:

# Engine must be added first
add_subdirectory(path/to/lysa_engine)
# Then add Lysa Nodes
add_subdirectory(path/to/lysa_nodes)
add_executable(your_game
src/Main.cpp
# … your other source files …
)
target_link_libraries(your_game PUBLIC lysa_nodes)

2. Import the module

In your C++ source files, import the top-level module to access all node types:

import lysa.nodes;

This single import re-exports every node class (Node, SceneTree, Camera, MeshInstance, AnimationPlayer, all light and physics nodes) as well as the load and loadAsync free functions.

3. CMake options reference

Option Default Description
PHYSIC_ENGINE_JOLT ON Enable physics nodes using Jolt Physics
PHYSIC_ENGINE_PHYSX OFF Enable physics nodes using NVIDIA PhysX (mutually exclusive with Jolt)
LUA_BINDINGS OFF Expose node API to Lua via LuaBridge
Note
PHYSIC_ENGINE_JOLT and PHYSIC_ENGINE_PHYSX are mutually exclusive.