Автор (ы) оригинала | Дэвид Кирк Бак, Аарон А. Коллинз, Александр Энцманн |
---|---|
Разработчики) | POV-команда |
изначальный выпуск | 29 июля 1991 г . [1] [2] |
Стабильный выпуск | 3.7.0 (9 ноября 2013 г . [3] ) [±] |
Предварительный выпуск | v3.8.0-alpha.10064738 (19 февраля 2019 г . [4] ) [±] |
Репозиторий | |
Написано в | C ++ |
Операционная система | Кроссплатформенность |
Тип | Трассировщик лучей |
Лицензия | AGPLv3 [5] |
Интернет сайт | www |
Постоянство видения Ray Tracer , наиболее часто acronymed , как POV-Ray , является кросс-платформенный трассировки лучей программа , которая генерирует изображения из описания сцены на основе текста . Первоначально он был основан на DKBTrace, написанном Дэвидом Кирком Баком и Аароном Коллинзом для компьютеров Amiga . Есть также влияние более раннего трассировщика лучей Polyray [6] из-за вклада его автора, Александра Энцманна. POV-Ray - это бесплатное программное обеспечение с открытым исходным кодом , исходный код которого доступен по лицензии AGPLv3 .
История [ править ]
Когда - то в 1980 - х годах, Дэвид Кирк Buck загрузил исходный код для Unix трассировки лучей в его Amiga . Некоторое время он экспериментировал с ним и в конце концов решил написать свой собственный трассировщик лучей, названный DKBTrace в честь его инициалов. Он разместил его на доске объявлений (BBS) «Можете называть меня Рэем» в Чикаго, полагая, что это может заинтересовать других. В 1987 году Аарон А. Коллинз загрузил DKBTrace и начал работать над его портом для x86 . Он и Дэвид Бак совместно работали над добавлением еще нескольких функций.
Когда программа оказалась более популярной, чем ожидалось, они не смогли угнаться за спросом на дополнительные функции. Таким образом, в июле 1991 года Дэвид передал проект команде программистов, работающих на форуме GraphDev на CompuServe . В то же время Дэвид считал неуместным использовать свои инициалы в программе, которую он больше не поддерживал. Название «STAR-Light» (Software Целевая группа по анимации и рендеринга) первоначально использовался, но в конечном итоге название стало «PV-Ray», а затем , в конечном счете «POV-Ray» (Постоянство видения Ray Tracer), [2] Название навеяно картиной Дали « Постоянство памяти» . [7] [8]
Особенности приложения и краткое изложение его истории обсуждаются в феврале 2008 года в интервью с Дэвидом Кирком Баком и Крисом Кейсоном в 24-й серии FLOSS Weekly . [8]
Особенности [ править ]
POV-Ray существенно повзрослел с момента своего создания. Последние версии программного обеспечения включают следующие функции:
- полный по Тьюрингу язык описания сцены (SDL), который поддерживает макросы и циклы [9]
- библиотека готовых сцен, текстур и объектов
- поддержка ряда геометрических примитивов и конструктивной твердотельной геометрии
- несколько видов источников света
- атмосферные эффекты, такие как туман и медиа ( дым , облака )
- отражения , преломления и световые каустики с использованием фотонного картирования
- поверхностные узоры, такие как морщины , неровности и рябь , для использования в процедурных текстурах и наложении рельефа
- лучезарность
- поддержка текстур и визуализированного вывода во многих форматах изображений, включая TGA , PNG и JPEG , среди других
- обширная пользовательская документация
Одна из главных достопримечательностей POV-Ray - это большая коллекция сторонних ресурсов и инструментов. В Интернете можно найти большое количество инструментов, текстур, моделей, сцен и руководств. Это также полезный справочник для тех, кто хочет узнать, как работают трассировка лучей и связанные с ней алгоритмы трехмерной геометрии и компьютерной графики.
Текущая версия [ править ]
Текущая официальная версия POV-Ray - 3.7. В этой версии представлены:
- поддержка симметричной многопроцессорной обработки (SMP), позволяющая рендереру использовать преимущества нескольких процессоров
- поддержка изображений с расширенным динамическим диапазоном (HDRI), включая форматы файлов OpenEXR и Radiance
- улучшено ограничение с использованием деревьев BSP
Некоторые из основных функций, представленных в предыдущем выпуске (3.6):
- расширение UV-отображения на большее количество примитивов
- добавление 16- и 32-битных целочисленных данных в файл плотности
- улучшение 64-битной совместимости
В июле 2006 года корпорация Intel начала использовать бета-версию 3.7 для демонстрации своего нового двухъядерного процессора Conroe из-за эффективности реализации SMP (симметричной многопроцессорной обработки).
Примитивы [ править ]
POV-Ray, в дополнение к стандартным трехмерным геометрическим фигурам, таким как торы , сферы и поля высот , поддерживает математически определенные примитивы, такие как изоповерхность (конечное приближение произвольной функции), полиномиальный примитив ( бесконечный объект, определяемый 15-м порядком или нижний полином ), фрактал Джулии (трехмерный срез четырехмерного фрактала), суперквадратичный эллипсоид (промежуточное звено между сферой и кубом) и параметрический примитивный (с использованием уравнений, которые представляют его поверхность, а не его внутреннюю часть).
POV-Ray внутренне представляет объекты, используя их математические определения; все примитивные объекты POV-Ray могут быть описаны математическими функциями . Это отличается от многих компьютерных программ, которые включают 3D-модели, которые обычно используют треугольные сетки для компоновки всех объектов в сцене.
Этот факт дает POV-Ray ряд преимуществ и недостатков по сравнению с другими системами рендеринга и моделирования; Примитивы POV-Ray более точны, чем их полигональные аналоги: объекты, которые могут быть описаны в терминах сфер, плоских поверхностей, цилиндров, торов и т. Д., Являются идеально гладкими и математически точными при визуализации POV-Ray, тогда как полигональные артефакты могут быть отображается в программном обеспечении для моделирования на основе сеток. Примитивы POV-Ray также проще определить, чем большинство их полигональных аналогов, например, в POV-Ray сфера описывается просто своим центром и радиусом; в среде на основе сетки сфера должна описываться множеством небольших связанных многоугольников (обычно четырехугольников или треугольников ).
С другой стороны, примитивное моделирование на основе сценариев не всегда является практичным методом для создания определенных объектов, таких как реалистичные персонажи или сложные искусственные артефакты, такие как автомобили. Эти объекты можно и нужно сначала создавать в приложениях для моделирования на основе сетки, таких как Wings 3D и Blender , а затем их можно преобразовать в собственный формат сетки POV-Ray.
Примеры языка описания сцены [ править ]
Ниже приведен пример языка описания сцены, используемого POV-Ray для описания сцены для рендеринга. Он демонстрирует использование цвета фона, камеры, источников света, простой формы прямоугольника, имеющей нормаль поверхности и отделку, а также трансформирующие эффекты вращения.
#version 3.6 ; // Включает отдельный файл, определяющий ряд общих цветов #include "colors.inc" global_settings { hibited_gamma 1.0 }// Устанавливает цвет фона для изображения (темно-серый) background { color rgb < 0,25 , 0,25 , 0,25 > }// Помещает камеру // направление: Устанавливает, среди прочего, поле обзора камеры // вправо: Устанавливает соотношение сторон изображения // look_at: Сообщает камере, куда смотреть камеру { location < 0.0 , 0.5 , - 4.0 > направление 1.5 * z вправо x * image_width / image_height look_at < 0.0 , 0.0 , 0.0 > }// Помещает источник света // color: устанавливает цвет источника света (белый) // translate: перемещает источник света в желаемое место light_source { < 0 , 0 , 0 > color rgb < 1 , 1 , 1 > translate < - 5 , 5 , - 5 > } // Помещает другой источник света // color: Устанавливает цвет источника света (темно-серый) // translate: перемещает источник света в желаемое место light_source { < 0, 0 , 0 > цвет rgb < 0,25 , 0,25 , 0,25 > перевести < 6 , - 6 , - 6 > }// Устанавливает прямоугольник // пигмент: Устанавливает цвет для поля («Красный», как определено в «colors.inc») // Готово : Устанавливает, как поверхность поля отражает свет // Нормально: Устанавливает неровность для box с использованием встроенной модели "агат" // rotate: вращает box box { < - 0.5 , - 0.5 , - 0.5 >, < 0.5 , 0.5 , 0.5 > текстура { пигмент { красный цвет } отделка { блеск 0,6 } нормальный { агат 0,25 Шкала 1 / 2 } } поворота < 45 , 46 , 47 > }
В следующем фрагменте сценария показано использование объявления, присваивания, сравнения переменных и конструкции цикла while:
#declare the_angle = 0 ; #while ( the_angle < 360 ) коробка { < - 0,5 , - 0,5 , - 0,5 > < 0,5 , 0,5 , 0,5 > текстуры { пигмент { цвет красный } покрытия { зеркальной 0,6 } нормального { агатом 0,25 Шкало 1 / 2 } } поворот the_angle } #declare the_angle = the_angle + 45 ; #конец
Моделирование [ править ]
Сама программа POV-Ray не включает функцию моделирования ; По сути, это чистый модуль визуализации со сложным языком описания моделей. Чтобы сопровождать этот набор функций, третьи стороны разработали большое количество программного обеспечения для моделирования, некоторые из которых специализируются на POV-Ray, другие поддерживают импорт и экспорт своих структур данных, включая бесплатный пакет для создания 3D-изображений с открытым исходным кодом Blender .
Ссылки на ряд дополнительных моделей, совместимых с POV-Ray, размещены на сайте Povray.org: Modeling Programs .
В 2007 году , POV-Ray приобрела права на Морей , [10] интерактивная программа моделирования 3-D давно используется с POV-Ray. Однако по состоянию на декабрь 2016 года разработка Moray застопорилась.
Программное обеспечение [ править ]
Разработка и обслуживание [ править ]
Официальные изменения в дереве исходных текстов POV-Ray выполняются и / или утверждаются Командой POV. Большая часть отправки исправлений и / или сообщений об ошибках осуществляется в группах новостей POV-Ray на сервере новостей news.povray.org ( также доступен веб-интерфейс ). Поскольку источник POV-Ray доступен, существуют неофициальные форки и исправленные версии POV-Ray, доступные от третьих лиц; однако они официально не поддерживаются POV-Team.
Официальные версии POV-Ray в настоящее время не поддерживают плагины шейдеров . [11] Некоторые функции, такие как лучистость и сплайны , все еще находятся в разработке и могут быть изменены синтаксически.
Поддержка платформы [ править ]
POV-Ray 3.6 распространяется в скомпилированном формате для Macintosh , Windows и Linux . Поддержка Intel Mac недоступна в версии для Macintosh , но, поскольку Mac OS X является версией Unix, версия для Linux может быть скомпилирована на ней.
Версии 3.7 с поддержкой SMP официально поддерживаются для Windows и Linux. Можно найти неофициальные версии Macintosh для v3.7. [12]
POV-Ray можно портировать на любую платформу, имеющую совместимый компилятор C ++ .
Лицензирование [ править ]
Первоначально POV-Ray распространялся под собственной лицензией POV-Ray . А именно, Лицензия на распространение POV-Ray 3.6 [13] и Лицензия на исходный код POV-Ray 3.6, [14] которые разрешают бесплатное распространение исходного кода программы и двоичных файлов, но ограничивают коммерческое распространение и создание производных работ, кроме полностью функциональных. версии POV-Ray.
Хотя исходный код более старых версий доступен для модификации, из-за вышеуказанного 3.6 и предыдущих лицензионных ограничений, это не было открытым исходным кодом или бесплатным программным обеспечением в соответствии с определением термина OSI или FSF . Это было проблемой, поскольку обмен исходным кодом с большей экосистемой FOSS был невозможен из-за несовместимости лицензий с лицензиями с авторским левом .
Одна из причин, по которой POV-Ray изначально не лицензировалась под Стандартной общественной лицензией GNU (GPL) для бесплатного программного обеспечения или другими лицензиями с открытым исходным кодом, заключается в том, что POV-Ray был разработан до того, как лицензии в стиле GPL стали широко использоваться; разработчики написали свою собственную лицензию на выпуск POV-Ray, и участники разработки программного обеспечения работали в предположении, что их вклады будут лицензироваться в соответствии с лицензиями POV-Ray 3.6.
В 2013 году с версией 3.7 POV-Ray был повторно лицензирован под Стандартной общественной лицензией Affero версии 3 (или более поздней). [15] Таким образом, POV-Ray с тех пор является бесплатным программным обеспечением согласно определению FSF, а также программным обеспечением с открытым исходным кодом согласно определению открытого исходного кода .
См. Также [ править ]
Викискладе есть медиафайлы по теме POV-Ray . |
- Blender - бесплатная программа с открытым исходным кодом для 3D-моделирования, анимации и рендеринга.
- Kerkythea - бесплатная программа для трассировки лучей с улучшенной совместимостью со Sketchup.
- Sunflow - система рендеринга с открытым исходным кодом для синтеза фотореалистичных изображений, написанная на Java.
- YafaRay - популярный бесплатный движок трассировки лучей с открытым исходным кодом
Ссылки [ править ]
- ^ «POV-Ray: Документация: 1.1.5.3 Историческая« История версий » » . povray.org . Проверено 19 декабря 2018 .
- ^ a b "POV-Ray: Новости" . povray.org . Проверено 19 декабря 2018 .
- ^ "Скачать" . POV-Ray. 2013-11-09 . Проверено 9 ноября 2013 .
- ^ «Релизы» . POV-Ray. 2019-02-19 . Проверено 19 февраля 2019 .
- ^ "Лицензия POV-Ray" . povray.org . Проверено 5 мая 2014 .
- ^ "Polyray v1.7" . Александр Р. Энцманн . Проверено 5 июля 2016 .
- ^ "Документация: 1.1.5 Ранняя история" . POV-Ray . Проверено 5 мая 2014 .
- ^ a b "Сеть TWiT Netcast с Лео Ляпортом" . Twit.tv. 2008-02-07 . Проверено 5 мая 2014 .
- ^ Пол Бурк: Supershape в 3D - это примеры изображений POV-Ray, сделанных с очень коротким кодом.
- ^ "Новости: Объявление Мурены" . POV-Ray. 2007-02-01 . Проверено 5 мая 2014 .
- ^ для такой реализации см., например, http://www.aetec.ee/fv/vkhomep.nsf/pages/povman2 Архивировано 7 февраля2007 г. на Wayback Machine.
- ^ povrayunofficial_mac на megapov.inetart.net
- ^ "Лицензия на распространение POV-Ray 3.6" . povray.org . Проверено 12 декабря 2016 .
- ^ "Лицензия на исходный код POV-Ray 3.6" . povray.org . Проверено 12 декабря 2016 .
- ↑ Кейсон, Крис (8 ноября 2013 г.). «Скачать POV-Ray 3.7.0» . Проверено 11 ноября 2013 года .
Начиная с версии 3.7, POV-Ray выпускается под лицензией AGPL3 (или более поздней) и, таким образом, является бесплатным программным обеспечением в соответствии с определением FSF.
[…] Доступен полный исходный код, что позволяет пользователям создавать свои собственные версии, а разработчикам включать части или весь исходный код POV-Ray в свое собственное программное обеспечение при условии, что он распространяется под совместимой лицензией (например, AGPL3 или - по их выбору - любая более поздняя версия).
Внешние ссылки [ править ]
Викискладе есть медиафайлы по теме POV-Ray . |
- Официальный веб-сайт
- Пов -луч на Керли