CanvasToy icon indicating copy to clipboard operation
CanvasToy copied to clipboard

Tile Based Deferred Rendering upon WebGL2 API

Open Danielmelody opened this issue 8 years ago • 2 comments

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

Danielmelody avatar Jan 29 '17 09:01 Danielmelody

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 image I feel it is the precision problem here, now I 'm searching others implementation to solve it, I really need some help.

Danielmelody avatar Mar 05 '17 16:03 Danielmelody

Fixing is on progress

Danielmelody avatar Mar 18 '17 14:03 Danielmelody