Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/3dtech/frak

FRAK WebGL Engine
https://github.com/3dtech/frak

3d-engine 3d-wayfinder javascript js webgl

Last synced: 8 days ago
JSON representation

FRAK WebGL Engine

Awesome Lists containing this project

README

        

# 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](http://3dwayfinder.com/). 3D Wayfinder is a floor
plan visualization and content management platform, mainly used for wayfinding applications.

## Features
* Deferred, physically based renderer
- requires *WEBGL_draw_buffers*
* Order-independent transparency ([paper](http://jcgt.org/published/0002/02/09/))
* 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: glTF
- Fonts: Canvas text API

## Architecture
The scene graph is a tree made up of instances of **Node**.
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/](src/scene/components/)