About Ion Engine

Ion engine is a simple DirectX based C++ game framework for 3D games. The engine was built by an undergrad student while attending DePaul University during the 'GAM 374: Engine Development I' and 'GAM 377: Engine Development II' courses. For graphics rendering and game loop, Ion Engine uses a basic DirectX 11 graphics core built during the 'GAM 398: Rendering and Graphics Programming' course.

screenshot.png
Ion Engine Tank Demo

Features

Ion Engine provides the following components:

  • Resource managers to organize objects created from external assets such as textures, shaders, models, and more.
  • Base classes Scene and GameObject from which to derive your own levels and game entities.
  • A built-in game loop to update and draw the current Scene and its associated GameObject(s).
  • A basic tiered collision system for collidable GameObjects.
  • Callbacks for Update events, Draw events, Input events, Alarm events, and Collision events.
  • Color, Texture, Sprite, WireFrame, and Phong Modeled light shaders for GraphicObjects.
  • 3D lit and textured Terrains from heightmap textures
  • Simple SkyBoxes from cubemaped textures

Using the Ion Engine

For more information, refer to the Ion Engine documentation module for class explanations and example code

To get started, download the template project from git.