Skip to content

Latest commit

 

History

History
47 lines (37 loc) · 2.16 KB

README.md

File metadata and controls

47 lines (37 loc) · 2.16 KB

ESTree

Simple game engine capable of rendering scene, performing physics simulations and generating tree models using Lindenmayer sytem formal grammar. Created as a part of masters dissertation.
Executable available in release tab.

YouTube clip demonstrating project capabilities:
main_scene_clip

ESTree is using few libraries:

  • BOOST: general perfomance purposes, multithreading
  • GLFW, GLM, GLAD, OpenGL: scene rendering
  • BulletPhysics: physics simulation (collisions, mouse picking, collapsing towers made of blocks)
  • RapidJSON: parsing configuration files
  • FreeType: text rendering
  • STB: texture loading
  • Freetype: fonts

Single tree scene clip:
single_tree_scene_clip

Sample screenshots presenting current engine abilities regarding tree generation:

  • Simple bush model:
    Sample screenshot
  • Ternary tree models generated from rules described in "The Algorithmic Beauty of Plants":
    Sample screenshot Sample screenshot

Project setup

To setup VS 14 project locally recursively clone repo and run setup.bat. Script will create build directory which will contain project files.
Run build/ESTree.sln and remember to mark ESTree as startup project.
Project requires built x64 Boost linked via env variable (check CMakeLists.txt) and freetype.dll which can be placed in either Windows/System32 or project build directory.

Usage

Scene navigation: RMB + WSAD (Space and left alt to move vertically)
Object selection/pick up: LMB
Console toggle: ~

Application has number of commands available in built-in user console such as:

  • adding and removing objects from scene,
  • creating movable light sources,
  • generating Lindenmayer trees from configuration files,
  • exporting models to .obj files,
  • help listing all actual commands.

For further initialisation launch options you can execute app with --help.