Быстрее, быстрее, еще быстрее
Перечислю некоторые вещи, которые можно сделать для ускорения трассировки лучей.
· Во-первых, начальная часть (секции 2 и 3) могут быть ускорены примерно на один процент за счет проведения некоторых предварительных вычислений;
· Во-вторых, можно убрать последнюю оставшуюся операцию с плавающей точкой;
· В-третьих, можно разделить трассировку по осям Х и Y по разным секциям, что сэкономит несколько операций сравнения;
· В-четвертых, можно чередовать трассировку лучей и отрисовку экрана, трассируя лучи во время ожидания регенерации экрана;
· Наконец, вместо режима 13h можно использовать так называемый режим X, имеющий разрешение 320x240 и являющийся наиболее быстрым из всех.
Но, это уже совсем другая история...