Rockfall
Very simple and small Rockfall 3D engine based on OpenTK library to demonstrate how GJKEPA library works. Written in pure C#, with minimum external references.
Install / Use
/learn @exatb/RockfallREADME
Rockfall
This demo based on very simple and small 3D engine Rockfall and OpenTK library for demonstrating work the GJKEPA library. Written in pure C#, with a minimum of external references.
GJKEPA library provides a fast and stable realisaton is Gilbert-Johnson-Keerthi (GJK) algorithm and the Expanding Polytope Algorithm (EPA).
https://github.com/exatb/GJKEPA
The Rockfall engine includes a simple physics solver for realistic motion and collisions of rigid bodies.
It's easy to use! Just launch it, press A or S to add a cube or sphere. And watch it funny fall.

This demo have 2 directories:
Bin - have all binaries for quick start and testing.
Src - Rockfall demo source files.
Assembly instructions:
I used VS2022 to create the project for Windows, but the source code should build and run on other systems.
In VS2022, you need to create a new console project, then launch the NuGet console and type "Install-Package OpenTK".
After installation, add all the sources to your project, build and run!
The Rockfall demo consists of the following source files:
- Camera.cs - Camera class. You can control position, FOV and camera movement.
- Game.cs - Main game window module. Contains all main events and game logic.
- Ligth.cs - Contains a description of the light source.
- MeshGenerators - 3D mesh generators for creating objects.
- Program.cs - A short dialog to launch the game window.
- RigidBody.cs - The main class defines the rigid body motion logic and collision solver.
- Scene.cs - Collects all objects in the scene and provides interaction with them.
- Shader.cs - Class for loading and compiling shaders.
- gjkepa.cs - Implementation of GJK and EPA.
- shader.frag - Fragment shader source.
- shader.vert - Vertex shader source.
Related Skills
node-connect
347.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
107.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
