Categories
Uncategorized

CybyEngine DX10

SDK Name: CybyEngine DX10

Programming Language: C++

Release: none

Developer: Timm Lotter

Desciption: CybyEngine DX10 is a small 3D GameEngine with a DX10 Renderer. The goal was to learn how a 3D game engine works and shader display all the cool stuff in the modern games. The engine had about 10k lines code and got the following futures:

  • GameApp (can be inherit and represent the entry point of the engine)
  • DX10Renderer (the core of the engine and main purpose is the effective rendering of all stuff)
  • SceneGraph (simple scene graph, where you can plug-in entities like meshes, terrain, camera…)
  • PostProcessingManager (easy managment of post processing effects, currently supported ColorFilter, Monochrome and ColorInverse)
  • CameraManager (managment of programmed and pre-defined cameras that can be pluged into the scene)
  • LightManager (managment of all lights)
  • EffectManager (managment of all effect, like Mesh and Terrain Shader)
  • TextureManage (easy loading and managment of textures)
  • MaterialManager (loading and managment of all materials like Diffuse-, Normal-, Specularmaps…)
  • MeshManager (loading and managment of all meshes, currently is only my own mesh-format supported – see project 3ds Max Exporter)
  • ObjectManager (creating and managment of on the fly created meshes like boxes and grid)
  • TerrainManager (easy loading and managment of terrains)
  • Font (easy rendering of fonts)
  • SpriteManager (easy rendering of sprite like for a GUI)
  • RenderWindow (creating of an render window)
  • DirectInput (easy mouse and keyboard controlling)
  • LogFile (logged informations and errors in files)
  • Timer (all about timing like FPS, Counter and profiling)

The engine was able to handle multiple lights. I implemented some common shaders like parallax occlusion mapping, parallax offset mapping,  terrain rendering with 4 detailed texture and alpha map layer …

2008_12_13_001 2008_12_13_002 2008_12_13_003 2008_12_13_004 2008_12_13_005 2008_12_13_006 2008_12_13_007 2008_12_13_008 2008_12_13_009 2008_12_13_010 2008_12_15_001 2008_12_24_001 2008_12_24_002 2009_01_03_001 2009_01_03_002 2009_01_03_003 2009_01_03_004 2009_01_03_005 02102008_01

2008_10_05_001 2008_10_05_00228092008_01 28092008_02