Tile Based Deferred Rendering upon WebGL2 API
Deferred rendering, is a multi-lighting algorithm which is mostly used in modern rendering system.Techniques needed for deferred rendering are based on OpenGL ES 3.0+ and upon.
The WebGL API 1.0 provide WEBGL_draw_buffers as an extension and promoted to core in WebGL API 2.0 to support deferred rendering. So to add this feature, there are several works to do:
- [x] Implement g-buffer
- [x] Add tiled geometry
- [x] Implement tiled light pass
- [x] Multi-materials support
- [ ] Transparency material support
- [ ] Add examples for performance and unit test cases
I believe those will be amazing
Well, I just came across a strange problem, I cannot get perfect rendering result when rendering more than 20 lights, The tiles keep twinkle when update frame, just like this
I feel it is the precision problem here, now I 'm searching others implementation to solve it, I really need some help.
Fixing is on progress