Loading AI tools
З Вікіпедії, вільної енциклопедії
POV-Ray (Persistence of Vision Raytracer) — програма трасування променів, яка створює зображення по текстовому опису і доступна на багатьох комп'ютерних платформах. Спочатку була створена на основі DKBTrace, написана Девідом Кірком Баком і Ароном А. Колінзом для комп'ютерів Amiga. Також мав місце вплив раннього трасувача променів Polyray Raytracer Олександра Ензмана. POV-Ray — програма з відкритим кодом безкоштовної ліцензії AGPL3. В даному продукті використовується багато методів для генерації 3D моделей, включаючи програму «moray» для інтерактивного моделювання.
Тип | Ray tracer |
---|---|
Розробник | The POV-Team |
Стабільний випуск | 3.7.0[1] |
Нестабільний випуск | 3.7 Release Candidate 7[2] |
Операційна система | Багатоплатформність |
Мова програмування | C++ |
Ліцензія | AGPLv3[3] |
Репозиторій | github.com/POV-Ray/povray |
Вебсайт | www.povray.org |
Колись у 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]
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> }
Наступний фрагмент сценарію показує використання оголошень змінних, привласнення, порівняння і конструкцій циклу:
#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 на [Архівовано 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.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.