close
Skip to content

uygary/Sin3D

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

157 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Sin3D

Sin3D is a lightweight MonoGame extension library designed to reduce boilerplate and make creating 3D games feel as simple as working in 2D.

It provides clean, high-level abstractions for cameras, rendering, models, and collision detection — without hiding or replacing MonoGame’s core.


Features

Camera

Camera3D class:

  • Handles view and projection matrices.

Renderer

Renderer3D class:

  • Toggleable default BasicEffect lighting.
  • Configurable directional BasicEffect lighting.
  • Configurable fog.
  • Single-line render calls.

Model Abstraction

Model3D class:

  • Handles position.
  • Handles rotation (quaternion-based).
  • Handles scale.
  • Handles World matrix.
  • Texture mapping (including per-mesh texture-mapping for multi-meshed models).
  • Collision detection with other models (including multi-mesh models).

Collision Detection

  • Bounding spheres
  • Axis-aligned bounding boxes (AABB)
  • Oriented bounding boxes (OBB)
  • Optimized collision pipeline: Bounding Sphere → AABB → OBB

How To Get Started:

  • Install MonoGame and add to your project.
  • Install Sin3D and add to your project.
  • Start coding! (sample projects can be found in the SampleProjects folder ready for you to build!)

About

A light-weight, MonoGame Extension Library created with the aim of making 3D games as easy to create as 2D games within MonoGame

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C# 100.0%