So I was thinking... multi-threaded programming is a forever old concept. Rendering is something that lends itself nicely to a threaded model. You have multiple threads all operating on shared scene data and all outputting samples to a shared buffer. Has anyone tried making each thread do a different thing? Why couldn't one thread be doing bidirectional path tracing while another does SPPM? It seems like a brilliant idea: render threads could all contribute to faster convergence by using rendering techniques that support the weaknesses of the techniques used by their neighboring threads. I'm positive someone has had this idea before me. Has anyone done it? Anyone have an interesting link? Please do share, that would be awesome to see.
