Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

FRAK WebGL Engine

FRAK engine is a JavaScript library/API for creating interactive 3D applications using WebGL. The purpose of the library is to provide a framework for simplifying the creation of complex interactive 3D applications.

FRAK engine was developed by 3D Technologies R&D for 3D Wayfinder. 3D Wayfinder is a floor plan visualization and content management platform, mainly used for wayfinding applications.


  • Deferred renderer
    • requires WEBGL_draw_buffers
  • Order-independent transparency (paper)
  • Real-time shadows
  • Dynamic textures
  • Post-processing pipeline
    • includes FXAA and SSAO implementations
  • Unicode fonts
  • Collision detection
    • Currently supports ray-intersection tests only
    • Collision trees need to be pre-generated by an external tool
  • Input: supports both keyboard+mouse and touch configurations
  • Automatic resource caching
  • Automatic loading of related resources
  • Supported assets:
    • Shaders: GLSL
    • Textures: JPEG, PNG
    • Models: Custom binary data format, JSON
    • Fonts: Canvas text API



The scene graph is a tree made up of instances of Node (or EmptyNode, if no spacial positioning is desired). Each node can contain any number of Component instances. The function of a Component class is not limited. For example it can act as an input controller (Controller) or as a billboard (Billboard) or simply as each node's relative transformation in the scene hierarchy (Transform).

More examples of component implementations can be seen under src/scene/components/