Skip to content

caboyd/iwo

Repository files navigation

Version

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

Typescript PBR Renderer Demoimage

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

Features

This is a list of features to reference for ideas. Checkmarked features have been implemented.

File Loading / Importing

Geometry Generation

Rendering

  • 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

Rendering Performance

  • Frustum Culling
  • Occlusion Culling
  • Instanced Rendering

Rendering Other

  • Post Processing
  • Mouse Picking
  • Line Rendering
  • Font Rendering
  • Fog
  • Motion Blur

Shadows

  • Shadow Mapping
  • Cascaded Shadow Mapping

Cameras

Animation

  • Skeletal animation
  • Transform Feedback Particle System

Built With

License

This project is licensed under the MIT License - see the LICENSE file for details

About

Webgl2 Physically Based Renderer in Typescript

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published