POV-Ray
-
Медіафайли у Вікісховищі
POV-Ray (Persistence of Vision Raytracer) — програма трасування променів, яка створює зображення по текстовому опису і доступна на багатьох комп'ютерних платформах. Спочатку була створена на основі DKBTrace, написана Девідом Кірком Баком і Ароном А. Колінзом для комп'ютерів Amiga. Також мав місце вплив раннього трасувача променів Polyray Raytracer Олександра Ензмана. POV-Ray — програма з відкритим кодом безкоштовної ліцензії AGPL3. В даному продукті використовується багато методів для генерації 3D моделей, включаючи програму «moray» для інтерактивного моделювання.
Історія
Колись у 1980-х роках, Девід Кірк Бак завантажив сирцевий код на Unix для трасування променів на свій комп'ютер Amiga. Експериментуючи з ним деякий час, зрештою зважився написати свій власний трасувач променів, котрий пізніше отримав назву DKBTrace. Девід розмістив це на електронній дошці оголошень BBS в Чикаго з назвою «You Can Call Me Ray», думаючи, що інші можуть бути зацікавлені в цьому. У 1987 році Арон А. Колінз завантажив DKBTrace і почав працювати на 86-розрядному порті з цією програмою. Арон і Девід Бек співпрацювали, щоб додати ще кілька функцій. Коли програма виявилася більш популярною, ніж очікувалося, вони не могли більше йти в ногу з попитом на більш широкі можливості. Таким чином, в липні 1991 року Девід передав проект до команди програмістів, що працювали на GraphDev форумі в CompuServe. Водночас, він вважав недоцільним використовувати в імені програми з котрою він більше не працює свої ініціали. Спочатку програму хотіли назвати «STAR» (Software Taskforce on Animation and Rendering), але в підсумку назва стала «Persistence of Vision Raytracer», або коротко «POV-Ray».[4]
POV-Ray був першим трасувачем променів використаним для рендерінга зображення на навколоземній орбіті, його використав Марк Шаттлворт всередині Міжнародної космічної станції.[5]
Особливості
![](http://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Glasses_800_edit.png/220px-Glasses_800_edit.png)
POV-Ray стала істотно функціональніше, з того часу як була створена. Останні версії програми включають в себе наступні можливості:
- Тьюринг-повна мова опису сцени (SDL), в якій підтримуються макроси та цикли.[6]
- Бібліотека готових сцен, текстур та об'єктів.
- Підтримка ряду геометричних примітивів та конструктивної блокової геометрії.
- Декілька види джерел світла.
- Атмосферні ефекти, такі як туман, дим, хмари.
- Відбиття, заломлення та легка каустика з використанням фотонних карт.
- Моделі поверхні, такі як зморшки, удари, і брижі, для використання в процедурному текстуруванні та в рельєфному текстуруванні.
- Освітлення (комп'ютерна графіка).
- Підтримка формату зображення для текстур, в тому числі TGA, PNG, JPEG.
- Велика кількість документації для користувача.
Однією з головних переваг 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> }
Наступний фрагмент сценарію показує використання оголошень змінних, привласнення, порівняння і конструкцій циклу:
#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-Team. Найкращі патчі та звіти помилок можна знайти в групі новин POV-Ray на [[https://web.archive.org/web/20080828180237/http://news.povray.org/ Архівовано 28 серпня 2008 у Wayback Machine.] news.povray.org]. Оскільки POV-Ray програма з відкритим кодом, то виправлені версії POV-Ray доступні від третіх осіб, однак, вони офіційно не підтримуються POV-Team. Офіційні версії POV-Ray в даний час не підтримують шейдери плагінів. Деякі функції, такі як рендеринг та сплайн все ще знаходяться в розробці і можуть бути пов'язані з синтаксичними змінам.
Підтримка платформ
POV-Ray поширюється в скомпільованій формат для Macintosh, Windows та Linux. Підтримка Intel Macs[en] не доступна у версії Macintosh, але так як Mac OS X являє собою версію Unix то версії Linux можуть бути скомпільовані на ньому. POV-Ray також може бути скомпільована на будь-якій платформі, яка має сумісний компілятор С ++. В 3,7 версії підтримується SMP, однак, ранні версії доступні лише для Windows і Linux.
Ліцензія
Починаючи з версії 3.7, POV-Ray випускається під AGPL3 ліцензією, таким чином, являє собою безкоштовним програмним забезпеченням, відповідно до FSF. Попередні версії POV-Ray випущені під POV-Ray ліцензією, що дозволяє вільне розповсюдження вихідного коду і файлів у двійковій формі, за винятком комерційного розповсюдження і створення відмінних повнофункціональних версій POV-Ray.
Див. також
- Blender — пакет для створення тривимірної комп'ютерної графіки
- Kerkythea — безкоштовна програма трасування променів
- Sunflow — система рендеринга з використанням глобального освітлення
- YafaRay — безкоштовна програма з відкритим кодом для трасування променів
Примітки
- ↑ Завантажити. POV-Ray. Архів оригіналу за 25 березня 2022. Процитовано 2 червня 2014.
- ↑ Зміни. POV-Ray. Архів оригіналу за 4 червня 2014. Процитовано 2 червня 2014.
- ↑ Ліцензія. Povray.org. Архів оригіналу за 15 березня 2016. Процитовано 5 травня 2014.
- ↑ Документація: 1.1.5 рання історія. POV-Ray. Архів оригіналу за 4 грудня 2014. Процитовано 2 червня 2014.
- ↑ Reach for the stars. Oyonale.com. 5 травня 2002. Архів оригіналу за 21 серпня 2014. Процитовано 5 травня 2014.
- ↑ Пол Бурк: Супер форма в 3D. Архів оригіналу за 4 червня 2014. Процитовано 2 червня 2014.
Посилання
- Домашня сторінка POV-Ray [Архівовано 10 червня 2006 у Wayback Machine.]
- POV-Ray на DMOZ
|
|
![]() | Це незавершена стаття про програмне забезпечення. Ви можете допомогти проєкту, виправивши або дописавши її. |