В настоящее время, когда луч встречает пустой сектор, он не пропускает его, а просто движется дальше и каждую итерацию проверяет один и тот же сектор. Для того, чтобы этого избежать, я пишу алгоритм, который будет вообще пропускать пустые сектора. Это значительно сократит количество итераций. Для этого необходимо высчитывать тангенс или котангенс угла между лучом и проекцией на ось X или Y. Когда-нибудь я напишу и об этом. Опять же, если кто-нибудь посоветует еще какие-нибудь способы сделать работу алгоритма быстрее, пишите.
Советую ещё этот канал посмотреть (:
Больше всего впечатлило видео про рейтрейсинг.
Удивительно, что я это не видел:)
Зачем лучи, люди давно придумали zбуфер. Все эти ваши лучи просят ти2080, а zбуфер работал с 80х годов. От направления взгляда составляем список отрезков попадающих нам в экран и рисуем их, делая проверку в zбуфере. Для сложных уровней фигачим разделение на комнаты и порталы, чтобы лишнее не проверять(привет квака1)
До этого мне еще далеко) изучаю, так сказать, все с истоков
Когда-нибудь я и до этого дойду
Комментарий недоступен