A lightweight Vulkan-based game engine written in C.
- Vulkan Rendering - Modern GPU-accelerated rendering
- GLFW Window Management - Cross-platform window and input handling
- Validation Layers - Debug support with Vulkan validation
- Modular Architecture - Clean separation of concerns
- Swapchain Management - Proper present mode and format selection
- GCC or Clang
- Vulkan SDK (1.2+)
- GLFW 3.3+
- pkg-config
- glslc (for shader compilation)
Ubuntu/Debian:
make depsOr manually:
sudo apt-get install libglfw3-dev libvulkan-dev vulkan-validationlayers-dev glslcArch Linux:
sudo pacman -S glfw-x11 vulkan-devel glslangFedora:
sudo dnf install glfw-devel vulkan-devel glslc# Debug build (default)
make
# Release build (optimized)
make release
# Build and run
make run
# Compile shaders
make shaders
# Clean build artifacts
make clean
# Full rebuild
make rebuild#include "opxium/opxium.h"
int main() {
OpxiumConfig config = opxium_default_config();
config.appName = "My Game";
config.windowWidth = 1280;
config.windowHeight = 720;
OpxiumEngine engine;
if (opxium_engine_init(&engine, &config) != OPXIUM_SUCCESS) {
return 1;
}
opxium_engine_run(&engine);
opxium_engine_shutdown(&engine);
return 0;
}- Graphics pipeline creation
- Command buffer recording
- Frame rendering
- Render pass management
- Framebuffer creation
- Depth buffering
- Texture loading
- Model loading
- Input handling
- ECS (Entity Component System)
- Audio system
MIT License - See LICENSE file for details.