интересно, что 3d-DDA по octree (без какого-либо кэширования, простое сэмплирование вглубь по точкам) в 1.4 раза быстрее, чем DDA по 3d сетке. Учитывая, что глубина октри сейчас 7, похоже что скорость сэмплирования упирается в промахи по кэшу, а не в арифметику.
Да, дерево весит около 1 мб, решетка – 4 мб, размер кэша процессора – 3 мб.
upd: не особенно оптимизируя, трассировка по Revelles et al. дает 3.5х прирост. Мало! :)
upd2: во-первых, похоже что я ее неправильно курю (продолжаю трассировать внутри solid geometry), во-вторых, она все равно дает более качественную картинку, что радует.
upd3: ой, а вне дебаггера оно эмм в 7 раз быстрее работает, прикольно.