Jump to content

POV-Ray

(Перенаправлено с POVRay )
POV-Ray
Оригинальный автор(ы) Дэвид Кирк Бак, Аарон А. Коллинз, Александр Энцманн
Разработчик(и) Команда POV
Первоначальный выпуск 29 июля 1991 г .; 33 года назад ( 1991-07-29 ) [1] [2]
Стабильная версия
3.7.0.0 [3]  Отредактируйте это в Викиданных / 7 ноября 2013 г.; 8 июля 2021 г.
Предварительный выпуск v3.8.0-beta.2 (9 августа 2021 г .; 2 года назад ( 09.08.2021 ) [4] ) [±]
Репозиторий
Написано в С++
Операционная система Кросс-платформенный
Тип Трассировщик лучей
Лицензия AGPL-3.0 или более поздняя версия [5]
Веб-сайт www.povray.org

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

Ваза на постаменте, визуализированная с помощью DKBTrace 2.12.

Где-то в 1980-х годах Дэвид Кирк Бак загрузил исходный код трассировщика лучей Unix на свою Amiga . Некоторое время он экспериментировал с ним и в конце концов решил написать свой собственный трассировщик лучей, названный DKBTrace по своим инициалам. «Вы можете называть меня Рэем» Он разместил это на доске объявлений (BBS) в Чикаго, думая, что это может заинтересовать других. В 1987 году Аарон А. Коллинз скачал DKBTrace и начал работать над x86 его портом для . Он и Дэвид Бак совместно добавили еще несколько функций.

Когда программа оказалась более популярной, чем ожидалось, они не смогли удовлетворить спрос на дополнительные функции. Таким образом, в июле 1991 года Дэвид передал проект команде программистов, работавших на форуме «GraphDev» на CompuServe . В то же время Дэвид считал неуместным использовать его инициалы в программе, которую он больше не поддерживает. Первоначально использовалось название «STAR-Light» (Целевая группа по программному обеспечению для анимации и рендеринга), но со временем оно стало «PV-Ray», а затем, в конечном итоге, «POV-Ray» (Persistence of Vision Ray Tracer). [2] имя, вдохновленное « картиной Дали Постоянство памяти» . [7] [8]

Особенности приложения и краткое изложение его истории обсуждаются в интервью с Дэвидом Кирком Баком и Крисом Кейсоном в феврале 2008 года в 24-м выпуске FLOSS Weekly . [8]

Стеклянная сцена, визуализированная с помощью POV-Ray, демонстрирующая излучательность , фотонное картирование , фокусное размытие и другие фотореалистичные возможности (изображение создано Жилем Траном )

POV-Ray существенно повзрослел с момента своего создания. Последние версии программного обеспечения включают в себя следующие функции:

Одной из главных достопримечательностей POV-Ray является его большая коллекция ресурсов и инструментов сторонних производителей. В сети можно найти большое количество инструментов, текстур, моделей, сцен и учебных пособий. Это также полезный справочник для тех, кто хочет узнать, как работает трассировка лучей и связанные с ней алгоритмы трехмерной геометрии и компьютерной графики.

Текущая версия

[ редактировать ]

Текущая официальная версия POV-Ray — 3.7. В этой версии представлены:

Некоторые из основных особенностей предыдущей версии (3.6):

В июле 2006 года корпорация Intel начала использовать бета-версию 3.7 для демонстрации своего нового двухъядерного процессора Conroe благодаря эффективности реализации SMP (симметричной многопроцессорной обработки).

Примитивы

[ редактировать ]
Визуализация диаграммы Венна из четырех сфер, созданных с помощью конструктивной твердотельной геометрии или CSG. Источник находится на странице описания изображения.
Несколько цветных кубиков, отрендеренных в POV-Ray. CSG , рефракция и фокальное размытие продемонстрированы.

POV-Ray, в дополнение к стандартным 3D-геометрическим формам, таким как торы , сферы и поля высот , поддерживает математически определенные примитивы, такие как изоповерхность (конечная аппроксимация произвольной функции), полиномиальный примитив ( бесконечный объект, определяемый 15-м порядком или нижний полином ), фрактал Юлия (3-мерный срез 4-мерного фрактала), суперквадратичный эллипсоид (промежуточное звено между сферой и кубом) и параметрический примитив (с использованием уравнений, которые представляют его поверхность, а не его поверхность). интерьер).

POV-Ray внутренне представляет объекты, используя их математические определения; все примитивные объекты POV-Ray можно описать математическими функциями . Это отличается от многих компьютерных программ, включающих 3D-модели, которые обычно используют треугольные сетки для составления всех объектов сцены.

Этот факт дает POV-Ray ряд преимуществ и недостатков по сравнению с другими системами рендеринга и моделирования; Примитивы POV-Ray более точны, чем их полигональные аналоги: объекты, которые можно описать в терминах сфер, плоских поверхностей, цилиндров, торов и т. п., при визуализации POV-Ray являются совершенно гладкими и математически точными, тогда как полигональные артефакты могут быть видимый в программном обеспечении для моделирования на основе сетки. Примитивы POV-Ray также проще определить, чем большинство их полигональных аналогов, например, в POV-Ray сфера описывается просто ее центром и радиусом; в среде на основе сетки сфера должна описываться множеством небольших соединенных многоугольников (обычно четырехугольников или треугольников ).

С другой стороны, примитивное моделирование на основе сценариев не всегда является практичным методом создания определенных объектов, таких как реалистичные персонажи или сложные искусственные артефакты, такие как автомобили. Эти объекты можно сначала создать в приложениях для моделирования на основе сеток, таких как Wings 3D и Blender , а затем их можно преобразовать в собственный формат сетки POV-Ray.

Примеры языка описания сцены

[ редактировать ]

Ниже приведен пример языка описания сцены, используемого POV-Ray для описания сцены для рендеринга. Он демонстрирует использование цвета фона, камеры, источников света, простой формы прямоугольника с нормалью и отделкой поверхности, а также преобразующие эффекты вращения.

Вывод изображения POV-Ray на основе скрипта
 #version 3.6;
// Includes a separate file defining a number of common colours
 #include "colors.inc"
 global_settings { assumed_gamma 1.0 }

// Sets a background colour for the image (dark grey)
 background   { color rgb <0.25, 0.25, 0.25> }

// Places a camera
// direction: Sets, among other things, the field of view of the camera
// right: Sets the aspect ratio of the image
// look_at: Tells the camera where to look
 camera       { location  <0.0, 0.5, -4.0>
                direction 1.5*z
                right     x*image_width/image_height
                look_at   <0.0, 0.0, 0.0> }

// Places a light source
// color: Sets the color of the light source (white)
// translate: Moves the light source to a desired location
 light_source { <0, 0, 0>
                color rgb <1, 1, 1>
                translate <-5, 5, -5> }
// Places another light source
// color: Sets the color of the light source (dark grey)
// translate: Moves the light source to a desired location
 light_source { <0, 0, 0>
                color rgb <0.25, 0.25, 0.25>
                translate <6, -6, -6> }

// Sets a box
// pigment: Sets a color for the box ("Red" as defined in "colors.inc")
// finish: Sets how the surface of the box reflects light
// normal: Sets a bumpiness for the box using the "agate" in-built model
// rotate: Rotates the box
 box          { <-0.5, -0.5, -0.5>,
                <0.5, 0.5, 0.5>
                texture { pigment { color Red }
                          finish  { specular 0.6 }
                          normal  { agate 0.25 scale 1/2 }
                        }
                rotate <45,46,47> }

Следующий фрагмент сценария показывает использование объявления переменных, присваивания, сравнения и конструкции цикла while:

Вывод изображения POV-Ray на основе скрипта
 #declare the_angle = 0;

 #while (the_angle < 360)
 	box {   <-0.5, -0.5, -0.5>
 		<0.5, 0.5, 0.5>
                texture { pigment { color Red }
                          finish  { specular 0.6 }
                          normal  { agate 0.25 scale 1/2 } }
 		rotate the_angle }
 	#declare the_angle = the_angle + 45;
 #end

Моделирование

[ редактировать ]

Сама программа POV-Ray не включает в себя функцию моделирования ; по сути, это чистый рендерер со сложным языком описания модели. В дополнение к этому набору функций сторонние компании разработали большое количество программного обеспечения для моделирования, некоторые из которых специализируются на POV-Ray, другие поддерживают импорт и экспорт его структур данных, включая бесплатный пакет для создания 3D-изображений с открытым исходным кодом Blender. [12]

Ссылки на ряд дополнительных средств моделирования, совместимых с POV-Ray, можно найти на Povray.org: Программы моделирования .

В 2007 году POV-Ray приобрела права на Moray . [13] программа интерактивного 3D-моделирования, давно используемая с POV-Ray. Однако по состоянию на декабрь 2016 года разработка Moray застопорилась. [14]

Программное обеспечение

[ редактировать ]

Разработка и сопровождение

[ редактировать ]

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

Официальные версии POV-Ray в настоящее время не поддерживают шейдеров . плагины [15] Некоторые функции, такие как радиальность и сплайны, все еще находятся в разработке и могут подвергаться синтаксическим изменениям.

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

[ редактировать ]

POV-Ray 3.6 распространяется в скомпилированном формате для Mac , Windows и Linux . Поддержка Intel Mac недоступна в версии Mac , но поскольку Mac OS X является версией Unix, версию Linux на ней можно скомпилировать .

Версии 3.7 с поддержкой SMP официально поддерживаются для Windows и Linux. неофициальные версии для Mac для версии 3.7. Можно найти [16]

POV-Ray можно портировать на любую платформу, имеющую совместимый компилятор C++ .

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

[ редактировать ]

Первоначально POV-Ray распространялся под собственной POV-Ray лицензией . А именно, лицензия на распространение POV-Ray 3.6. [17] и исходную лицензию POV-Ray 3.6, [18] который разрешает бесплатное распространение исходного кода программы и двоичных файлов, но ограничивает коммерческое распространение и создание производных работ, кроме полнофункциональных версий POV-Ray.

Хотя исходный код более старых версий доступен для модификации, из-за вышеуказанных 3.6 и предыдущих лицензионных ограничений он не был открытым или свободным программным обеспечением в соответствии с OSI или FSF определением этого термина . Это было проблемой, поскольку обмен исходным кодом с большей экосистемой FOSS был невозможен из-за несовместимости лицензий с лицензиями с авторским левом .

Одна из причин, по которой 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 (или более поздней). [19] Таким образом, с тех пор POV-Ray является свободным программным обеспечением согласно определению FSF , а также программным обеспечением с открытым исходным кодом согласно определению открытого исходного кода .

См. также

[ редактировать ]
  • Blender — бесплатная программа с открытым исходным кодом для 3D-моделирования, анимации и рендеринга.
  • Kerkythea — бесплатная программа трассировки лучей с улучшенной со Sketchup. совместимостью
  • Sunflow - система рендеринга с открытым исходным кодом для синтеза фотореалистичных изображений, написанная на Java.
  1. ^ «POV-Ray: Документация: 1.1.5.3 Историческая «история версий» » . povray.org . Проверено 19 декабря 2018 г.
  2. ^ Перейти обратно: а б «POV-Ray: Новости» . povray.org . Проверено 19 декабря 2018 г.
  3. ^ «Выпуск 3.7.0.0» . 7 ноября 2013 года . Проверено 15 марта 2018 г.
  4. ^ «Бета-версия POV-Ray v3.8.0-beta.2» . POV-Рэй. 09.08.2021 . Проверено 29 августа 2021 г.
  5. ^ «Лицензия POV-Ray» . povray.org . Проверено 5 мая 2014 г.
  6. ^ «Полирей v1.7» . Александр Р. Энцманн . Проверено 5 июля 2016 г.
  7. ^ «Документация: 1.1.5 Ранняя история» . POV-Рэй . Проверено 5 мая 2014 г.
  8. ^ Перейти обратно: а б «Сеть TWiT Netcast с Лео Лапортом» . Твит.тв. 07 февраля 2008 г. Проверено 5 мая 2014 г.
  9. ^ Пол Бурк: Supershape в 3D — это примеры изображений POV-Ray, созданных с помощью очень короткого кода.
  10. ^ «POV-Ray: Документация: 2.1.2.2 Общие параметры вывода» . www.povray.org . Проверено 8 сентября 2023 г.
  11. ^ Перейти обратно: а б «POV-Ray: Документация: 2.1.2.8 Параметры трассировки» . www.povray.org . Проверено 8 сентября 2023 г.
  12. ^ Блендер
  13. ^ «Новости: Объявление Морей» . POV-Рэй. 01 февраля 2007 г. Проверено 5 мая 2014 г.
  14. ^ «POV-Ray/povray: устойчивость Vision Raytracer» . POV-Рэй. 06 сентября 2013 г. Проверено 5 августа 2022 г.
  15. ^ о такой реализации см., например, http://www.aetec.ee/fv/vkhomep.nsf/pages/povman2. Архивировано 7 февраля 2007 г. на Wayback Machine.
  16. ^ povrayunofficial_mac на megapov.inetart.net
  17. ^ «Лицензия на распространение POV-Ray 3.6» . povray.org . Проверено 12 декабря 2016 г.
  18. ^ «Лицензия на исходный код POV-Ray 3.6» . povray.org . Проверено 12 декабря 2016 г.
  19. ^ Кейсон, Крис (8 ноября 2013 г.). «Загрузить POV-Ray 3.7.0» . Проверено 11 ноября 2013 г. Начиная с версии 3.7, POV-Ray выпускается под лицензией AGPL3 (или более поздней версии) и, таким образом, является свободным программным обеспечением согласно определению FSF. [...] Доступен полный исходный код, что позволяет пользователям создавать свои собственные версии, а разработчикам включать части или весь исходный код POV-Ray в свое собственное программное обеспечение при условии, что оно распространяется под совместимой лицензией (например, AGPL3). или – по их выбору – любую более позднюю версию).
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 683c6172eec0e0e2698ab8d4c31f3389__1720207740
URL1:https://arc.ask3.ru/arc/aa/68/89/683c6172eec0e0e2698ab8d4c31f3389.html
Заголовок, (Title) документа по адресу, URL1:
POV-Ray - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)