Skip to content

budjmt/WreckEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

WreckEngine

Originally conceived to support a wrecking-ball crane game, WreckEngine has more-or-less become an engine implementation playground. Someday that game will be the demo.

General Goals:

  • Explore collision physics
  • Implement/attempt to streamline interesting functionality found in other engines
  • Take advantage of the modern C++ toolkit
  • Learn advanced graphics programming concepts
  • Make the engine simple to use and reuse

Implemented:

  • Arbitrary Mesh Colliders
  • Transform system with hierarchy and as-needed, on-demand computation
  • Memory control using smart pointers
  • Safe, low-impact CPU-side wrappers for GPU-side OpenGL constructs (gl_structs.h)
  • Graphical debug primitives, using streamed buffer data and instanced rendering
  • Properties (a la C#, property.h)
  • Dynamic Event System
  • Multithreading the various update loops
  • Flexible renderer that can manage post-process chains, render groups, and full render pass chains
  • Dynamic lighting, supporting deferred and forward lighting
  • Hot-swappable shaders, i.e. they can be rewritten at runtime and have their changes reflected

To Be Implemented:

  • Physically accurate collision resolution (in progress!!)
  • Constraints
  • Lua JIT scripting system, allowing for dynamic rebuilds
  • Terrain system

Might Be Implemented:

  • Component System?
  • More advanced rendering techniques?
    • Sorting non-opaque objects to enable accurate alpha blending
    • Visibility Buffer
    • PBR
  • Fluid Dynamics/Soft-body Physics?
  • Scene Loader/Editor (stretch)
  • Make it more cross-platform

...

  • Make the wrecking-ball demo

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published