Перейти до вмісту

POV-Ray

Матеріал з Вікіпедії — вільної енциклопедії.
POV-Ray
POV-Ray logo
Тип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

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]

Особливості

[ред. | ред. код]
Сцена зроблена за допомогою POV-Ray

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 на [[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 — безкоштовна програма з відкритим кодом для трасування променів

Примітки

[ред. | ред. код]
  1. Завантажити. POV-Ray. Архів оригіналу за 25 березня 2022. Процитовано 2 червня 2014.
  2. Зміни. POV-Ray. Архів оригіналу за 4 червня 2014. Процитовано 2 червня 2014.
  3. Ліцензія. Povray.org. Архів оригіналу за 15 березня 2016. Процитовано 5 травня 2014.
  4. Документація: 1.1.5 рання історія. POV-Ray. Архів оригіналу за 4 грудня 2014. Процитовано 2 червня 2014.
  5. Reach for the stars. Oyonale.com. 5 травня 2002. Архів оригіналу за 21 серпня 2014. Процитовано 5 травня 2014.
  6. Пол Бурк: Супер форма в 3D. Архів оригіналу за 4 червня 2014. Процитовано 2 червня 2014.

Посилання

[ред. | ред. код]



pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy