Skip to content

MHesham/engiX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

engiX

engiX is an experimental 3D Game Engine based on DirectX11 and the high performance SIMD DirectXMath library. Its name is 2 parts 'engi'+'X' where 'engi' comes from engine and X refers to being DirectX based.

engiX design is inspired by the sample Game Engine that comes with Game Coding Complete 4 book, https://code.google.com/p/gamecode4/

Features:

  • Organized in 3 layers: App and View layers which are platform dependant, Logic layer which is platform agnostic.
  • Leverages the DirectX DXUT11 framework to simplify the App and View layer implementation.
  • Uses the high-perofmrance and optimized SIMD-friendly C++ math library DirectXMath for common linear algebra and graphics math operations.
  • 3D Scene management (under implementation)
  • Works with HLSL shaders model 4.
  • Keyboard Input handling.
  • Event based system using a centralized message pump.
  • The game actor architecture is component based, and an actor is defined as the aggregation of 1 or more component. Example: PhysicsComponent, TransformComponent, D3dMeshComponent, AiComponent, etc.. (under implementation).

3rdParty Libs:

  • DXUT framework
  • TinyXml2

Future Work:

  • .NET based 3D Level Editor.
  • Implement resource caching for game assets.
  • Support lights.
  • Support shadows.
  • Support Audio and sound effects.
  • Add support for XBOX One by implementing XBOX One specific App and View layers.

References:

  • Game Coding Complete 4 by Mike McShaffry
  • Introduction to 3D Game Programming with DirectX 11 by Frank Luna

Releases

No releases published

Packages

No packages published

Languages