Skip to content

tankiJong/morph-engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Morph Engine

Morph Engine is a morden C++ Game Engine in development.

Recent update

Renderer

  • all font rendering are now based on distance field font textures.
  • support shader/material reloading throw Resource<>::reload()
  • Post effect: support bloom, fog effect.(After effect framework is still not finalized yet)
  • lights have an option to cast shadow(hard coded PCF shadow).(shadow map is in efficient for now because the engine do not have texture view concept yet)
  • Fully support forward rendering path
  • Material support property blocks(shader reflaction)
  • Material support.(data format)
  • Mesh support mutiple sub mesh now
  • Multiple passes shader support
  • Introducing RenderScene, RenderTask, Renderable, and a built-in Forward rendering path.
  • Engine support lighting now, up to 8. Also see lighting.glsl & default_lit.shader(which uses default.vert and default.frag)
  • Mikkt integration @ Mesher
  • Mesher support SurfacePatch
  • support different vertex types, related concept: VertexAttribute, VertexLayout
  • Mesher(aka MeshBuilder), support loading mesh from simple obj file
  • introduce several rendering concepts: Mesh, Shader
  • support multiple texture binding
  • support simple custom Uniform buffer binding
  • glsl support #include, #define
  • Migrating to modern rendering pipline

Math

  • Transform hierarchy(no cache support, would be slow if the hierarchy is deep)
  • Transform, Eular angle, matrix related utils
  • support perspective camera
  • Math library refactoring

debug/profile

  • Threaded Logger
  • Instrimental profiler and visual layout
  • Debug draw system(2D/3D text, some 2D/3D primitives)
  • Dev Console

Other

  • better developing experience: the engine resource folder would get automatically registered so that re-run the project can see all changes immediately.
  • Engine built-in resource folder
  • file system can traverse the whole mounted file tree and call the call back function provided.
  • render text use metadata and distance field
  • Json, Yaml parser integrated
  • Virtual file system
  • Simple clock&time util for profiler
  • Xml tool (feature keep growing)