Skip to content

About

A pure-Rust Vulkan Game Engine

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

DirkEngine

A Vulkan Game Engine in Rust

On macOS, the Vulkan renderer uses MoltenVK through the Vulkan loader. The engine does not install or bundle a Vulkan SDK or MoltenVK; provide the Vulkan loader and configure it to discover the MoltenVK ICD at runtime. Native Metal rendering remains a future backend.

Debug builds also enable VK_LAYER_KHRONOS_validation; make its Vulkan layer manifest discoverable with VK_ADD_LAYER_PATH (or a standard Vulkan layer search path).

The engine is assembled with plugins and runtime subsystems:

# fn main() -> anyhow::Result<()> {
let mut builder = dirk_engine::Engine::builder();
// Let Ctrl-C request a graceful shutdown. Disabled by default so libraries
// embedding the engine keep the host's signal handling.
builder.with_os_signals(true);
builder.with_plugin(dirk_assets::AssetsPlugin)?;
builder.with_plugin(dirk_platform::PlatformPlugin)?;
builder.with_plugin(dirk_player::PlayerPlugin)?;
builder.with_plugin(dirk_world::WorldPlugin)?;
builder.with_plugin(dirk_renderer::RendererPlugin)?;

let engine = builder.build()?;
engine.run()?;
# Ok(()) }

About

A pure-Rust Vulkan Game Engine

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages