taichi-dev/taichi_three

Possible Roadmap for taichi_three

victoriacity opened this issue · 1 comments

I wonder if we shall be ambitious and make taichi_three more versatile for becoming the standard of "rendering pipelines" in Taichi (although there'll be overheads compared with a true GPU rendering pipeline). Below are some suggested features that has been/can be implemented for taichi_three:

  • Physically-based shading: Cook-Torrance BRDF and PBR materials; I have already implemented Cook-Torrance shading here, but haven't put into taichi_three yet

  • Multiple render targets: adding additional camera buffers, this would be useful for deferred rendering and other screen-space methods. I have implemented this in my own taichi_three fork.

  • Shadow mapping: this can be done by using a "shadow camera" with ortho projection

  • Postprocessing: SSAO, screen-space reflection, tonemapping, etc.

  • Image-based lighting and environment maps

  • Path tracing, e.g., Taichi Cornell box and particle renderer examples

PBR sounds a cool feature to have. I think it should be optional. I just added Model.vertex_shader and Model.pixel_shader method in latest master, and we may override them in PBRModel to achieve it. WDYT?