The Engine is now in the SVN

Simplex3d Engine has been uploaded to the SVN.

Today Simplex3d project is celebrating its’ second birthday. The project has starter as a simple math library and now it has become an engine. The engine sub-project has been under development for about six month. All the bases have been covered but there are many features that need to be added.

The engine is specifically designed around working with GLSL shaders and will not work with fixed-functionality hardware. The initial release of the engine will be targeting OpenGL 2.1.

Completed Engine Features

Core

  • Modular design to allow custom components
  • Change tracking to propagate updates automatically
  • Multithreading to speed up some tasks
  • Easy to use input framework

Scene-graph

  • Pluggable transformations
  • Controllers and animators
  • Hierarchical environment propagation (for lights and other effects)
  • Auto-computed or custom bounding volumes
  • Frustum culling
  • Geometry instancing

Renderer

  • Flexible VBOs and textures based on Data Binding API
  • Updates to VBOs and textures are propagated to the OpengGL automatically
  • Mapping between Scala objects and GLSL structs
  • Support for nested structs and arrays

Upcoming Features

  • Automated GLSL program selection based on defined material properties
  • Pluggable effect architecture to allow 3rd party shader effects
  • Pass manager to allow multipass rendering
  • 1D, 3D, and cube textures
  • Support for more texture data formats
  • LOD Nodes and Portals
  • Resource loading framework to allow pluggable model and texture loaders

There are few examples at the moment. As the engine gets closer to the release I will start adding examples and demos to the Webstart Scala Console.

Tags: