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?