Введение

Текстовая программа трассировки лучей The Persistence of Vision Ray Tracer, чаще всего сокращаемая как POV Ray, — это кроссплатформенная программа трассировки лучей, которая генерирует изображения на основе текстового описания сцены. Изначально она была основана на DKBTrace, разработанной Дэвидом Кирком Баком и Аароном А. Коллинзом для компьютеров Amiga. Также на POV Ray оказали влияние более ранние трассировщики лучей, такие как Polyray, благодаря вкладу его автора, Александра Энцмана. POV Ray — это бесплатное программное обеспечение с открытым исходным кодом, исходный код которого доступен под лицензией AGPL 3.0 или более поздней версии.

История

Когда-то в 1980-х годах Дэвид Кирк Бак загрузил исходный код Unix-трассировщика лучей на свою Amiga. Он некоторое время экспериментировал с ним и в итоге решил написать собственный трассировщик лучей, названный DKBTrace по его инициалам. Он опубликовал его на BBS "You Can Call Me Ray" в Чикаго, полагая, что он может заинтересовать других. В 1987 году Аарон А. Коллинз скачал DKBTrace и начал работу над портированием программы на платформу x86. Он и Дэвид Бак сотрудничали, чтобы добавить несколько новых функций. Когда программа стала популярнее, чем они ожидали, они не справлялись с растущим спросом на новые возможности. Поэтому в июле 1991 года Дэвид передал проект команде программистов, работавших на форуме "GraphDev" в CompuServe. Одновременно с этим Дэвид посчитал нецелесообразным использовать свои инициалы в названии программы, которую он больше не поддерживал. Первоначально использовалось название "STAR Light" (Software Taskforce on Animation and Rendering), но со временем название изменилось на "PV Ray", а затем окончательно на "POV Ray" (Persistence of Vision Ray Tracer).

Разработка и обслуживание

Официальные изменения в исходный код POV-Ray вносятся и/или утверждаются командой POV-Ray. Большинство предложений по патчам и/или сообщений об ошибках публикуются в новостных группах POV-Ray на новостном сервере news.povray.org (также доступен веб-интерфейс). Поскольку исходный код POV-Ray открыт, существуют неофициальные ответвления и пропатченные версии POV-Ray, предлагаемые сторонними разработчиками; однако, они не поддерживаются командой POV-Ray официально. Официальные версии POV-Ray в настоящее время не поддерживают подключаемые модули шейдеров. Некоторые функции, такие как радиозность и сплайны, все еще находятся в разработке и могут изменяться в синтаксическом плане.

Поддержка платформы

POV Ray 3.6 распространяется в скомпилированном виде для Mac, Windows и Linux. Поддержка процессоров Intel Mac отсутствует в версии для Mac, но поскольку Mac OS X является разновидностью Unix, версию для Linux можно скомпилировать на этой платформе. Версии 3.7 с поддержкой SMP официально поддерживаются для Windows и Linux. Неофициальные версии для Mac для v3.7 можно найти. POV Ray можно портировать на любую платформу, оснащенную совместимым компилятором C++.

Лицензирование

Первоначально POV Ray распространялся под собственной лицензией POV Ray License. А именно, лицензией POV Ray 3.6 Distribution License и лицензией POV Ray 3.6 Source License, которые разрешали свободное распространение исходного кода программы и бинарных файлов, но ограничивали коммерческое распространение и создание производных работ, за исключением полностью функциональных версий POV Ray. Хотя исходный код старых версий был доступен для модификации, из-за вышеуказанных ограничений лицензий 3.6 и более ранних версий, он не являлся программным обеспечением с открытым исходным кодом или свободным программным обеспечением в соответствии с определениями OSI или FSF. Это создавало проблему, поскольку обмен исходным кодом с более широкой экосистемой FOSS был невозможен из-за несовместимости лицензии с лицензиями copyleft. Одной из причин, по которой POV Ray изначально не лицензировался по GNU General Public License (GPL) или другим лицензиям с открытым исходным кодом, является то, что POV Ray был разработан до того, как лицензии в стиле GPL стали широко распространены; разработчики создали собственную лицензию для выпуска POV Ray, и участники разработки работали, предполагая, что их вклад будет лицензирован по лицензиям POV Ray 3.6. В 2013 году, с версией 3.7, POV Ray был перелицензирован под GNU Affero General Public License версии 3 (или более поздней). Таким образом, с тех пор POV Ray является свободным программным обеспечением в соответствии с определением FSF и программным обеспечением с открытым исходным кодом в соответствии с определением Open Source.