This repository contains sample programs to demonstrate how to use the RavEngine C++ game library.
- AirHockey
- A simple air hockey game demonstrating RavEngine fundamentals (WIP)
- Playground
- A testing zone, subject to change
- Perf-ECS
- ECS raw number crunching benchmark
- Perf-Draw
- InstancedStaticMesh demo
- Perf-DrawAnimated
- A stress test for high object count with animated lights
- Perf-Network
- A networking stress test. Contains both the server and client code in the same target. Launch with no arguments for client, and any argument for server
- Perf-Lighting
- GPU-centric lighting and materials performance test with high-polygon models
- GUI
- A demonstration of all the different supported GUI widgets
- Animation
- Demonstrates the skinned mesh blending capabilities of RavEngine
- SoundDynamics
- A virtual soundstage demonstrating the audio reverbation modeling feature
- Flags
- Mixing skeletal and vertex animation, along using vector graphics on textures
- Gravity
- Creating orbits using PhysX forces
- Navigation
- Raycasting and pathfinding across 3D terrain
- Occlusion
- Test case for dynamic occlusion culling
- Rendering
- Demonstrate the various features of the render engine
- Rats
- Crazy? I was crazy once...
- Sign in to GitHub in your browser. This is required for accessing the downloads.
- Go to Actions > Build Samples on this repository
- Find the latest run that has a build for your platform (check the failed runs as well)
- Download the Artifact for your platform
- Ensure RavEngine supports your platform.
- Ensure you have the minimum required CMake version (see
CMakeLists.txt
), as well as a C++20-compatible compiler and required SDKs for your platform. See the RavEngine repository for additional dependency requirements for your platform. - Execute in terminal:
git clone https://github.com/RavEngine/Samples --depth=1 --recurse-submodules
- Do not use GitHub's Download as Zip, this will not include the required submodules.
- Navigate your terminal into the
config
directory, and execute the build script for your system.- macOS:
./build-mac.sh
- Windows:
build-win.bat
- Note: Due to a known bug in the Windows configure process, you will need to execute this script twice to build successfully.
- Linux:
./build-linux.sh
- iOS (device):
./init-ios.sh
(project gen only, open Xcode for code signing) - tvOS (device):
./init-tvos.sh
(project gen only, open Xcode for code signing) - UWP:
./init-uwp.bat
(project gen only, use Publish in Visual Studio to generate MSIX installers)
- macOS:
- Navigate your terminal to the
build/release
directory, and run the samples.