iwo-renderer
v0.7.19
Published
Typescript Webgl2 Physically Based Renderer
Downloads
15
Readme
iwo - A Typescript Webgl2 Physically Based Renderer
iwo is a physically based renderer written in Typescript. This project was created to learn how to create a forward rendering engine from scratch.
Demo
https://caboyd.github.io/iwo-examples/index.html
Installing
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
Examples
- https://github.com/caboyd/iwo-examples
- https://github.com/caboyd/underwater_game
Features
This is a list of features to reference for ideas. Checkmarked features have been implemented.
File Loading / Importing
- [x] Asynchronous File Loading
- [x] HDR Image Loader
- :construction: GLTF Importer
- :construction: OBJ Importer
Geometry Generation
Rendering
- [x] Physically Based Shader
- [x] Image Based Diffuse Lighting
- [x] Image Based Specular Lighting
- [ ] Normal Mapping
- [ ] Parallax mapping - (Tutorial)
- [ ] Volumetric Rendering
- [ ]
- [ ] Render Targets
- [x] Render to Cubemap
- [ ] Scene Rendering
Rendering Performance
- [ ] Frustum Culling
- [ ] Occlusion Culling
- [ ] Instanced Rendering
Rendering Other
- [ ] Mouse Picking
- [x] Line Rendering
- [ ] Font Rendering
- [ ] Fog
- [ ] Motion Blur
Shadows
- [ ] Shadow Mapping
- [ ] Cascaded Shadow Mapping
Cameras
- [x] First Person Camera
- [x] Third Person (Arcball/Orbit) Camera
- [x] Cubemap Camera
Animation
- [ ] Skeletal animation
- [ ] Transform Feedback Particle System
Built With
- gl-matrix - Vector math
- typescript - Typescript Language
- rollup - Rollup bundler
License
This project is licensed under the MIT License - see the LICENSE file for details