Maintain ambient occlusion for all operations that do not alter geometry.
Opened this issue · 1 comments
Currently when the user zooms, rotates, or translates the view, previously calculated ambient occlusion data is thrown away. Implement an algorithm that maintains the ambient occlusion data so that these operations can take place without recalculating it and disrupting the user's view.
Create a texture atlas containing the depth buffer information for each AO sample. Sample from this on each displayed frame to calculate the AO for each pixel.
Since the current focus of speck is to produce quality static images, and this would necessarily reduce image quality, I'm putting this on the back burner for now. I'll probably revisit it when the focus turns to making the renderer a web widget. At that point, the user should have the option to use one of the two methods.