Raygun is a simplistic game engine built around Vulkan Ray Tracing. Therefore, a GPU supporting hardware ray tracing is required.
PhysX is used as physics engine, while OpenAL enables audio support. For window and input management, GLFW is utilized. Debugging and profiling information is displayed via ImGui.
- Vulkan-based renderer using the Vulkan Ray Tracing extension
- Compute-shader support
- Integrated profiler
- Validation layer enabled (in debug builds)
- Vulkan debug messenger extension support
- Using dynamic dispatcher for all Vulkan calls
- Convenience wrappers for commonly used Vulkan objects
- Extensible material system
- Reflections and refractions
- Screen-space roughness approximation
- Fade transitions
- SSAA and FXAA
- ImGui integration
- Debug menu
- Live material editing
- Performance visualization
- PhysX integration
- Convenience functions for common tasks
- Trigger / collision callbacks
- Underlying PhysX objects still accessible
- PhysX Visual Debugger support (in debug builds)
- GLFW window system integration
- Window resize / minimize support
- Handling of keyboard input
- OpenAL based audio system
- Positional sound effects
- Opus support
- User interface
- Automatic arranging of controls
- ImGui inspired API
- Ray traced
- Resource manager
- Automatic caching of loaded resources
- Collada support
- Scene graph
- Custom entities via inheritance
- Animated entity support
- Config load / store
- Integrated logging
- Scene reloading (F5) (example project)
- Hot shader reloading (F6)
- Shaders are automatically compiled at build-time
- For generating fonts using the provided script,
blender.exe
should be inPATH
- A Blender plugin is provided to enable instant scene export
Build instructions are available for Windows and Linux.
You may also find the Raygun whitepaper interesting.
Third-party dependencies are included for a good out-of-the-box experience. Note that these dependencies are provided under their own respective license.
UI sounds by Lokif (OpenGameArt.Org) (CC0).
Music by David Fesliyan (Non-Commercial). Royalty free music from https://www.fesliyanstudios.com.
Big thanks to Ingrid Frank for creating the official Raygun logo (font: Ethnocentric). Checkout her amazing work.