<div dir="ltr"><div>Wiki link: <a href="https://wiki.blender.org/index.php/User:Geraldine/GSoC_2018/Reports#Week_3">https://wiki.blender.org/index.php/User:Geraldine/GSoC_2018/Reports#Week_3</a></div><div></div><div><br></div><div>While progress is slower than I'd like, I have added a working implementation of the tiling algorithm and some examples here (<a href="https://developer.blender.org/T55264">https://developer.blender.org/T55264</a>) (there are actually 2 very obvious typos in <i>render/image.cpp</i> that I accidentally committed, will fix them in the next commit).</div><br>As in the task comments, memory usage savings depend on the threshold, though even with the lowest possible threshold value, the sample image's memory usage was already reduced by ~33%. Later on it may be possible to make this value user changeable.<br><br><b>To-do next week</b><br><br><div>* Modify sparse tiles to support generic types (currently only supports float4, should be fine as long they have a > operator overloaded).</div><div><br></div><div>* Add support for all Volume attributes (currently only supports color).</div><div><br></div><div>* Change detection method for calling sparse grid creation (currently, a new ImageDataType was created, but will probably change this to a bool member of Image).</div><div><br></div><div>* Make this compatible with the Mesh Volume speedup (<a href="https://developer.blender.org/D3038">https://developer.blender.org/D3038</a>). Because of they are currently mutually exclusive, using this implemntation will actually slow down rendering.</div><div><br></div><div>* Implement lookup for tricubic interpolation (currently just throws an assert if a compressed texture tries to call it).</div><div><br></div>* Add support for CUDA and OpenCL (this may actually not be tested soon since I won't have access to a PC with a compatible GPU for another couple of weeks).<br><br>All of these should be completed by the end of week 4.<br><br><b>Potential to-dos</b><br><br><div>* Create a wrapper class for device_memory's of SparseTiles.</div><div><br></div><div>* Support 2D tiling.</div><div><br></div><div>* Make threshold value a user-inputted value.</div><div><br></div><div>* Remove the SparseTile struct altogether and just treat tiles abstractly.</div><div><br></div></div>