Skip to content
This repository was archived by the owner on Nov 29, 2025. It is now read-only.

Repository files navigation

SDL2Engine

An advanced SDL2 / OpenGL engine implemented in C#, designed for creating high-performance 2D and 3D games and applications.

Features

  • Window and Input Management: Utilizes SDL for handling window operations and input events.
  • Rendering Support: Offers both 2D rendering via SDL and 2D/3D rendering through OpenGL.
  • Advanced Graphics: Implements 3D lighting and shadow effects, along with special effects like post processing and world space godrays.
  • Physics Engines: Integrates Box2D for 2D physics and BepuPhysics-v2 for 3D physics simulations.
  • Networking: Basic networking capabilities for multiplayer game support.

Library Prerequisites

Ensure the following libraries are correctly placed in the /libs directory of your project, and configure your .NET project to reference them:

  • SDL2_image.so
  • SDL2_mixer.so
  • SDL2_ttf.so
  • cimgui.so
  • SDL2-CS.dll

For guidance on building each DLL/library, refer to the Building DLLs / Libraries Tutorial.

Showcase and Examples

OpenGL 3D Renderer

Explore advanced 3D rendering features like shadows, godrays, and physics simulations with Bepu3D in:

OpenGL renderer with godrays and bloom Dynamic physics simulation

SDL 2D Renderer

Discover the capabilities of the SDL 2D renderer combined with GUI elements and Box2D physics in:

Boids simulation Box2D Physics

Music Player Example

Check out the Music Player demonstrating audio playback integration in:

Music player interface

About

SDL2 + OpenGL 2D/3D Game Engine with Box2D Physics, ImGui, and Networking capabilities

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages