All Projects → W4RH4WK → Raygun

W4RH4WK / Raygun

Licence: MIT license
Simple Game Engine Focusing on Vulkan Ray Tracing

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
GLSL
2045 projects
CMake
9771 projects

Projects that are alternatives of or similar to Raygun

Helios
Real-time unidirectional GPU path tracer using the cross-vendor Vulkan ray-tracing extensions.
Stars: ✭ 144 (+336.36%)
Mutual labels:  vulkan, ray-tracing
awesome-rtx
Curated collection of projects leveraging NVIDIA RTX technology (OptiX, DXR, VKR)
Stars: ✭ 73 (+121.21%)
Mutual labels:  vulkan, ray-tracing
VkInline
A tool to make it easy to use Vulkan from Python. An interface for computation and off-screen rendering.
Stars: ✭ 16 (-51.52%)
Mutual labels:  vulkan, ray-tracing
Diligentcore
Core functionality of Diligent Engine
Stars: ✭ 263 (+696.97%)
Mutual labels:  vulkan, ray-tracing
Vrt
🔅 Ray tracing library for Vulkan API (indev)
Stars: ✭ 111 (+236.36%)
Mutual labels:  vulkan, ray-tracing
Rfw Rs
Framework for playing around with rendering libraries in Rust
Stars: ✭ 23 (-30.3%)
Mutual labels:  vulkan, ray-tracing
rendering-fw
Rendering framework with rasterizers & path tracers implemented using Vulkan, OptiX & OpenGL
Stars: ✭ 81 (+145.45%)
Mutual labels:  vulkan, ray-tracing
Diligentengine
A modern cross-platform low-level graphics library and rendering framework
Stars: ✭ 2,142 (+6390.91%)
Mutual labels:  vulkan, ray-tracing
The Forge
The Forge Cross-Platform Rendering Framework PC Windows, Linux, Ray Tracing, macOS / iOS, Android, XBOX, PS4, PS5, Switch, Quest 2
Stars: ✭ 2,710 (+8112.12%)
Mutual labels:  vulkan, ray-tracing
Vulkano
Safe and rich Rust wrapper around the Vulkan API
Stars: ✭ 2,950 (+8839.39%)
Mutual labels:  vulkan
xshade
"cross shade" meta shading language and compiler
Stars: ✭ 37 (+12.12%)
Mutual labels:  vulkan
Wolf.engine
The Wolf is a comprehensive set of C/C++ open source libraries for realtime rendering, realtime streaming and game developing
Stars: ✭ 230 (+596.97%)
Mutual labels:  vulkan
Classicuo
ClassicUO - an open source implementation of the Ultima Online Classic Client.
Stars: ✭ 239 (+624.24%)
Mutual labels:  vulkan
wine-launcher
Wine Launcher - Running Windows games under Linux
Stars: ✭ 249 (+654.55%)
Mutual labels:  vulkan
Wickedengine
3D engine focusing on modern rendering techniques and performance.
Stars: ✭ 3,148 (+9439.39%)
Mutual labels:  vulkan
vkel
Simple Dynamic Vulkan Extension Loader
Stars: ✭ 39 (+18.18%)
Mutual labels:  vulkan
Nebula
Nebula is an open-source and free-to-use modern C++ game engine.
Stars: ✭ 224 (+578.79%)
Mutual labels:  vulkan
Smol V
SMOL-V: like Vulkan/Khronos SPIR-V, but smaller.
Stars: ✭ 230 (+596.97%)
Mutual labels:  vulkan
PhasmaEngine
3D Graphics Engine
Stars: ✭ 39 (+18.18%)
Mutual labels:  vulkan
ux-dx
The core for UX Components and UX Animate
Stars: ✭ 13 (-60.61%)
Mutual labels:  vulkan

Logo

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.

🎥 Video demo

Screenshot

Features

  • 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)

Development Notes

  • Shaders are automatically compiled at build-time
  • For generating fonts using the provided script, blender.exe should be in PATH
  • 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

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.

Acknowledgement

Big thanks to Ingrid Frank for creating the official Raygun logo (font: Ethnocentric). Checkout her amazing work.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].