iwo is a physically based renderer written in Typescript. This project was created to learn how to create a forward rendering engine from scratch.
https://caboyd.github.io/iwo-examples/index.html
npm i iwo-renderer gl-matrix
This library requires a bundler like rollup and depends on gl-matrix. To use this library look at my example game Underwater Game
This is a list of features to reference for ideas. Checkmarked features have been implemented.
- Physically Based Shader
- Image Based Diffuse Lighting
- Image Based Specular Lighting
- Normal Mapping
- Parallax Mapping - (Tutorial)
- Displacement Mapping
- Volumetric Rendering
- Render Targets
- Render to Cubemap
- Scene Rendering
- Frustum Culling
- Occlusion Culling
- Instanced Rendering
- Post Processing
- Mouse Picking
- Line Rendering
- Font Rendering
- Fog
- Motion Blur
- Shadow Mapping
- Cascaded Shadow Mapping
- First Person Camera
- Third Person (Arcball/Orbit) Camera
- Cubemap Camera
- Skeletal animation
- Transform Feedback Particle System
- gl-matrix - Vector math
- typescript - Typescript Language
- rollup - Rollup bundler
This project is licensed under the MIT License - see the LICENSE file for details