Введение
Текстовая программа трассировки лучей The Persistence of Vision Ray Tracer, чаще всего сокращаемая как POV Ray, — это кроссплатформенная программа трассировки лучей, которая генерирует изображения на основе текстового описания сцены. Изначально она была основана на DKBTrace, разработанной Дэвидом Кирком Баком и Аароном А. Коллинзом для компьютеров Amiga. Также на POV Ray оказали влияние более ранние трассировщики лучей, такие как Polyray, благодаря вкладу его автора, Александра Энцмана. POV Ray — это бесплатное программное обеспечение с открытым исходным кодом, исходный код которого доступен под лицензией AGPL 3.0 или более поздней версии.
The Persistence of Vision Ray Tracer, most commonly acronymed as POV Ray, is a cross platform ray tracing program that generates images from a text based scene description. It was originally based on DKBTrace, written by David Kirk Buck and Aaron A. Collins for Amiga computers. There are also influences from the earlier Polyray raytracer because of contributions from its author, Alexander Enzmann. POV Ray is free and open source software, with the source code available under the AGPL 3.0 or later license.
История
Когда-то в 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.