Разбирая сегодня старые проги, нашёл свой прошлогодний проект, сданный вместо экзамена по курсу "Компьютерная графика" - рейтрейсер с поддержкой разнообразных тел, разноцветных источников света, отражений и т.д. Вместе с обидой, что никто этой красоты не видел, возникло сабж
Изначально он был написан на BP7 и не работал с другими видюхами, кроме моей; поэтому для сдачи я его скомпилировал в делфи. Как там сделать аналог AutoRedraw = True, я не стал разбираться, и поэтому скомпилировал рейтрейсер в длл-ку, вызываемую из VB-обёртки.
Переписывать его полностью на VB было бы сложно из-за активного использования наследования реализации; если когда-нибудь удастся убедить себя освоить VB.net, тогда наверное перепишу на нём
Самое главное в этом рейтрейсере - что я его писал полностью "из головы", не подглядывая в чужие исходники; в итоге всё оформилось в стройную, красивую и легко расширяемую структуру классов.
В архиве: 3D.* - досовская версия (с вероятностью 90% у вас не заработает, но не грех попробовать); ThreeD.* - виндовая версия; src32 - виндовые исходники. Сцена задаётся текстовым файлом со сложным и неочевидным синтаксисом (который я уже забыл ) Работает довольно медленно, как и полагается рейтрейсеру.