POV-Ray

POV-Ray
Original author(s)David Kirk Buck, Aaron A. Collins, Alexander Enzmann
Developer(s)The POV-Team
Initial releaseJuly 29, 1991; 33 years ago (1991-07-29)[1][2]
Stable release
3.7.0.0[3] Edit this on Wikidata / 7 November 2013; 8 July 2021
Preview releasev3.8.0-beta.2 (August 9, 2021; 3 years ago (2021-08-09)[4]) [±]
Repository
Written inC++
Operating systemCross-platform
TypeRay tracer
LicenseAGPL-3.0-or-later[5]
Websitewww.povray.org

The Persistence of Vision Ray Tracer, most commonly acronymed as POV-Ray, is a cross-platform ray-tracing program that generates images from a text-based scene description. It was originally based on DKBTrace, written by David Kirk Buck and Aaron A. Collins for Amiga computers. There are also influences from the earlier Polyray[6] raytracer because of contributions from its author, Alexander Enzmann. POV-Ray is free and open-source software, with the source code available under the AGPL-3.0-or-later license.

History

A vase on a pedestal rendered with DKBTrace 2.12

Sometime in the 1980s, David Kirk Buck downloaded the source code for a Unix ray tracer to his Amiga. He experimented with it for a while and eventually decided to write his own ray tracer named DKBTrace after his initials. He posted it to the "You Can Call Me Ray" bulletin board system (BBS) in Chicago, thinking others might be interested in it. In 1987, Aaron A. Collins downloaded DKBTrace and began working on an x86 port of it. He and David Buck collaborated to add several more features.

When the program proved to be more popular than anticipated, they could not keep up with demand for more features. Thus, in July 1991, David turned over the project to a team of programmers working in the "GraphDev" forum on CompuServe. At the same time, David felt that it was inappropriate to use his initials on a program he no longer maintained. The name "STAR-Light" (Software Taskforce on Animation and Rendering) was initially used, but eventually the name became "PV-Ray", and then ultimately "POV-Ray" (Persistence of Vision Ray Tracer),[2] a name inspired by Dalí's painting, The Persistence of Memory.[7][8]

Features of the application, and a summary of its history, are discussed in a February 2008 interview with David Kirk Buck and Chris Cason on episode 24 of FLOSS Weekly.[8]

Features

Glass scene rendered by POV-Ray demonstrating radiosity, photon mapping, focal blur, and other photorealistic capabilities (image created by Gilles Tran)

POV-Ray has matured substantially since it was created. Recent versions of the software include the following features:

One of POV-Ray's main attractions is its large collection of third-party-made assets and tools. A large number of tools, textures, models, scenes, and tutorials can be found on the web. It is also a useful reference for those wanting to learn how ray tracing and related 3D geometry and computer graphics algorithms work.

Current version

The current official version of POV-Ray is 3.7. This version introduces:

Some of the main introduced features of the previous release (3.6) are:

In July 2006, Intel Corporation started using the beta version of 3.7 to demonstrate their new dual-core Conroe processor due to the efficiency of the SMP (symmetric multiprocessing) implementation.

Primitives

Rendering of the Venn diagram of four spheres created with constructive solid geometry, or CSG. The source is on the description page of the image.
Some colored dice rendered in POV-Ray. CSG, refraction and focal blur are demonstrated.

POV-Ray, in addition to standard 3D geometric shapes like tori, spheres, and heightfields, supports mathematically defined primitives such as the isosurface (a finite approximation of an arbitrary function), the polynomial primitive (an infinite object defined by a 15th order or lower polynomial), the julia fractal (a 3-dimensional slice of a 4-dimensional fractal), the superquadratic ellipsoid (an intermediate between a sphere and a cube), and the parametric primitive (using equations that represent its surface, rather than its interior).

POV-Ray internally represents objects using their mathematical definitions; all POV-Ray primitive objects can be described by mathematical functions. This is different from many computer programs that include 3D models, which typically use triangle meshes to compose all the objects in a scene.

This fact provides POV-Ray with several advantages and disadvantages over other rendering and modeling systems; POV-Ray primitives are more accurate than their polygonal counterparts: objects that can be described in terms of spheres, planar surfaces, cylinders, tori, and the like, are perfectly smooth and mathematically accurate in POV-Ray renderings, whereas polygonal artifacts may be visible in mesh-based modeling software. POV-Ray primitives are also simpler to define than most of their polygonal counterparts, e.g., in POV-Ray, a sphere is described simply by its center and radius; in a mesh-based environment, a sphere must be described by a multitude of small connected polygons (usually quads or triangles).

On the other hand, script-based primitive modeling is not always a practical method to create certain objects, such as realistic characters or complex man-made artifacts like cars. Those objects can be created first in mesh-based modeling applications such as Wings 3D and Blender, and then they can be converted to POV-Ray's own mesh format.

Examples of the scene description language

The following is an example of the scene description language used by POV-Ray to describe a scene to render. It demonstrates the use of a background colour, camera, lights, a simple box shape having a surface normal and finish, and the transforming effects of rotation.

POV-Ray image output based on the script
 #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> }

The following script fragment shows the use of variable declaration, assignment, comparison and the while loop construct:

POV-Ray image output based on the script
 #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

Modeling

The POV-Ray program itself does not include a modeling feature; it is essentially a pure renderer with a sophisticated model description language. To accompany this feature set, third parties have developed a large variety of modeling software, some specialized for POV-Ray, others supporting import and export of its data structures, including the free and open-source 3D creation suite Blender.[12]

A number of additional POV-Ray compatible modelers are linked from Povray.org: Modelling Programs.

In 2007, POV-Ray acquired the rights to Moray Archived 2020-04-28 at the Wayback Machine,[13] an interactive 3-D modeling program long used with POV-Ray. However, as of December 2016, Moray development is stalled.[14]

Software

Development and maintenance

Official modifications to the POV-Ray source tree are done and/or approved by the POV-Team. Most patch submission and/or bug reporting is done in the POV-Ray newsgroups on the news.povray.org news server (with a Web interface also available). Since POV-Ray's source is available there are unofficial forks and patched versions of POV-Ray available from third parties; however, these are not officially supported by the POV-Team.

Official POV-Ray versions currently do not support shader plug-ins.[15] Some features, like radiosity and splines are still in development and may be subject to syntactical change.

Platform support

POV-Ray 3.6 is distributed in compiled format for Mac, Windows and Linux. Support for Intel Macs is not available in the Mac version, but since Mac OS X is a version of Unix the Linux version can be compiled on it.

The 3.7 versions with SMP support are officially supported for Windows and Linux. Unofficial Mac versions for v3.7 can be found.[16]

POV-Ray can be ported to any platform which has a compatible C++ compiler.

Licensing

Originally, POV-Ray was distributed under its own POV-Ray License; namely, the POV-Ray 3.6 Distribution License[17] and the POV-Ray 3.6 Source License,[18] which permitted free distribution of the program source code and binaries, while restricting commercial distribution and the creation of derivative works other than fully functional versions of POV-Ray.

Although the source code of older versions is available for modification, due to the above 3.6 and prior license restrictions, it was not open source or free software according to the OSI or the FSF definition of the term. This was a problem as source code exchange with the greater FOSS ecosystem was impossible due to license incompatibility with copyleft licenses.

One of the reasons that POV-Ray was not originally licensed under the free software GNU General Public License (GPL), or other open source licenses, is that POV-Ray was developed before the GPL-style licenses became widely used; the developers wrote their own license for the release of POV-Ray, and contributors to the software worked under the assumption their contributions would be licensed under the POV-Ray 3.6 Licenses.

In 2013, with version 3.7, POV-Ray was relicensed under the GNU Affero General Public License version 3 (or later).[19] Thus POV-Ray is since then free software according to the FSF definition and also open source software according to the Open Source Definition.

See also

  • Blender – a free and open-source software program for 3D modeling, animation, and rendering
  • Kerkythea – a freeware ray-tracing program with enhanced Sketchup compatibility
  • Sunflow – an open-source rendering system for photo-realistic image synthesis, written in Java

References

  1. ^ "POV-Ray: Documentation: 1.1.5.3 A Historic 'Version History'". povray.org. Retrieved 2018-12-19.
  2. ^ a b "POV-Ray: News". povray.org. Retrieved 2018-12-19.
  3. ^ "Release 3.7.0.0". 7 November 2013. Retrieved 15 March 2018.
  4. ^ "POV-Ray Beta Release v3.8.0-beta.2". POV-Ray. 2021-08-09. Retrieved 2021-08-29.
  5. ^ "POV-Ray License". povray.org. Retrieved 2014-05-05.
  6. ^ "Polyray v1.7". Alexander R. Enzmann. Retrieved 2016-07-05.
  7. ^ "Documentation: 1.1.5 The Early History of". POV-Ray. Retrieved 2014-05-05.
  8. ^ a b "The TWiT Netcast Network with Leo Laporte". Twit.tv. 2008-02-07. Retrieved 2014-05-05.
  9. ^ Paul Bourke: Supershape in 3D are examples of POV-Ray images made with very short code
  10. ^ "POV-Ray: Documentation: 2.1.2.2 General Output Options". www.povray.org. Retrieved 2023-09-08.
  11. ^ a b "POV-Ray: Documentation: 2.1.2.8 Tracing Options". www.povray.org. Retrieved 2023-09-08.
  12. ^ Blender
  13. ^ "News: Moray Announcement". POV-Ray. 2007-02-01. Retrieved 2014-05-05.
  14. ^ "POV-Ray/povray: The persistence of Vision Raytracer". POV-Ray. 2013-09-06. Retrieved 2022-08-05.
  15. ^ for such an implementation, see e.g., http://www.aetec.ee/fv/vkhomep.nsf/pages/povman2 Archived 2007-02-07 at the Wayback Machine
  16. ^ povrayunofficial_mac on megapov.inetart.net
  17. ^ "POV-Ray 3.6 Distribution License". povray.org. Retrieved 2016-12-12.
  18. ^ "POV-Ray 3.6 Source License". povray.org. Retrieved 2016-12-12.
  19. ^ Cason, Chris (8 November 2013). "Download POV-Ray 3.7.0". Retrieved 11 November 2013. Starting with version 3.7, POV-Ray is released under the AGPL3 (or later) license and thus is Free Software according to the FSF definition. [...] Full source code is available, allowing users to build their own versions and for developers to incorporate portions or all of the POV-Ray source into their own software provided it is distributed under a compatible license (for example, the AGPL3 or – at their option – any later version).

Read other articles:

MayawatiPresident Partai Bahujan SamajPetahanaMulai menjabat 18 September 2003PendahuluKanshi RamAnggota Parlemen Rajya SabhaMasa jabatan3 April 2012 – 20 Juli 2017 (mengundurkan diri)PenggantiAnil Agrawal, PBJDaerah pemilihanUttar PradeshKetua Menteri Uttar Pradesh ke-17Masa jabatan3 Juni 1995 – 18 Oktober 1995PendahuluMulayam Singh YadavPenggantiPemerintahan PresidenDaerah pemilihanHaroraMasa jabatan21 Maret 1997 – 21 September 1997PendahuluPemerintahan ...

 

This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources. Find sources: 2015 CONCACAF U-20 Championship – news · newspapers · books · scholar · JSTOR (December 2018) (Learn how and when to remove this template message) 2015 CONCACAF U-20 ChampionshipCampeonato Sub-20 de CONCACAF (in Spanish)Tournament detailsHost countryJamaicaDates9–24 JanuaryTeams12 (from 1 confederat...

 

In diesem Artikel zur römischen Mythologie fehlen noch folgende wichtige Informationen: Belegstellen für Quelle(n) des Mythos Lösche den betreffenden Listenpunkt, wenn er erledigt ist. Erläuterungen zu den einzelnen Punkten siehe hier. Hilf der Wikipedia, indem du sie recherchierst und einfügst. Dieser Artikel befasst sich mit Manen als römische Totengeister. Für weitere Bedeutungen siehe Manen (Begriffsklärung). Römischer Grabstein aus Contiomagus. Die Buchstaben DM oben stehen für...

  لمعانٍ أخرى، طالع بالمر (توضيح). بالمر     الإحداثيات 42°09′30″N 72°19′45″W / 42.158333333333°N 72.329166666667°W / 42.158333333333; -72.329166666667  تاريخ التأسيس 1727  تقسيم إداري  البلد الولايات المتحدة[1][2]  التقسيم الأعلى مقاطعة هامبدن  خصائص جغرافية  المساحة ...

 

Left branch of the river Neva in Saint Petersburg, Russia This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Fontanka – news · newspapers · books · scholar · JSTOR (December 2007) (Learn how and when to remove this template message) vteWater system of Ligovsky Canal Legend Dudergofskoye lake Dudergofka River 17...

 

Countess of Étampes Marie of OrléansCountess of Étampes Viscountess of NarbonneBorn19 December/September 1457Died1493SpouseJohn of FoixIssueGermaine, Queen of AragonGaston, Duke of NemoursHouseValois-OrléansFatherCharles, Duke of OrléansMotherMarie of Cleves Marie of Orléans (19 December/September 1457 – 1493) was the elder sister of King Louis XII of France. Due to her marriage to John of Foix,[1] she was Countess of Étampes and Viscountess of Narbonne. Marie was the eld...

سلسلة من المقالات حولالأساطير الكلتية الأيرلندية الإسكتلندية الويلزية البرتونية الكورنشية المفاهيم الدين الآلهة (قائمة) الأرواحية توتا دي دانان Fomhoraigh فلكلور وأساطير هبرديسية Mythological Cycle Ulster Cycle Fianna Cycle العصر الحديدي البريطاني المهرجانات درويد Bards Vates الدعوات الدينية Otherworl...

 

2015 studio album by Leftöver CrackConstructs of the StateStudio album by Leftöver CrackReleasedNovember 27, 2015GenreCrust punk, anarcho-punk, ska punkLength36:57LabelFat Wreck Chords[1]Leftöver Crack chronology Deadline(2007) Constructs of the State(2015) Professional ratingsReview scoresSourceRatingPunknews.org link Constructs of the State is the third album by American crust punk band Leftöver Crack, released in 2015 on the Fat Wreck Chords label. It features guest app...

 

2012 studio album by Ramin KarimlooRaminStudio album by Ramin KarimlooReleasedApril 9, 2012 (2012-04-09)Recorded2011GenrePopLabelSony Music Entertainment Ramin, renamed Human Heart in the United States, is the debut studio album from Iranian-born Canadian actor and singer Ramin Karimloo. It was released in the UK on April 9, 2012. Background Karimloo released his album in the UK on April 9, 2012 after several months of promotion. He ended his West End run as Jean Valjea...

Cantatorium de Saint-Gal Fol. 25, Ad te levavi animam meam [lire en ligne].PrésentationType Manuscrit enluminé, Cantatoriummodifier - modifier le code - modifier Wikidata Le cantatorium de Saint-Gall, plus précisément cantatorium dit de Saint-Gall, est un cantatorium en grégorien, achevé vers 922 - 926, auprès de l'abbaye de Saint-Gall en Suisse et conservé toujours dans sa bibliothèque abbatiale. Il s'agit non seulement du cantatorium complet et le plus ancien[1] mais égale...

 

1963 British filmIt's All HappeningOriginal British quad posterDirected byDon SharpWritten byLeigh VanceProduced byNorman WilliamsStarringTommy SteeleMichael MedwinAngela DouglasCinematographyKen HodgesEdited byJohn JympsonMusic byPhilip GreenJohn BarryProductioncompanyK.N.P. ProductionsDistributed byBritish Lion Film CorporationRelease date1963Running time86 minutesCountryUnited KingdomLanguageEnglishBudget$430,000[1] It's All Happening is a 1963 British musical film directed by Don ...

 

Japanese politician Takio Izawa伊沢 多喜男Governor-General of TaiwanIn office1 September 1924 – 16 July 1926MonarchTaishōPrime MinisterKiyoura KeigoKatō TakaakiWakatsuki ReijirōPreceded byUchida KakichiSucceeded byKamiyama Mitsunoshin Personal detailsBorn26 December 1869Died17 November 1977(1977-11-17) (aged 107) Takio Izawa (伊澤 多喜男, Izawa Takio, December 26, 1869 – November 17, 1977) was a Japanese politician of the early 20th century. Biography Izawa serv...

2007 studio album by The Ghost Is DancingThe Darkest SparkStudio album by The Ghost Is DancingReleasedJune 19, 2007RecordedThe Gas Station, Toronto IslandGenreIndie popLabelSonic UnyonThe Ghost Is Dancing chronology The Ghost Is Dancing (EP)(2006) The Darkest Spark(2007) – The Darkest Spark is the debut full-length album by Canadian indie pop band The Ghost Is Dancing. It was released by Sonic Unyon Records on June 19, 2007. Track listing All songs written by The Ghost Is Dancing Se...

 

A technique to increase the amount of usable memory Not to be confused with Paging. A hypothetical memory map of bank-switched memory for a processor that can only address 64 KB. This scheme shows 200 KB of memory, of which only 64 KB can be accessed at any time by the processor. The operating system must manage the bank-switching operation to ensure that program execution can continue when part of memory is not accessible to the processor. Bank switching is a technique used in...

 

Questa voce o sezione sull'argomento calciatori argentini non cita le fonti necessarie o quelle presenti sono insufficienti. Puoi migliorare questa voce aggiungendo citazioni da fonti attendibili secondo le linee guida sull'uso delle fonti. Segui i suggerimenti del progetto di riferimento. Questa voce sull'argomento calciatori argentini è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. Juan José Bor...

Албано-косовские отношения Албания Республика Косово  Медиафайлы на Викискладе Албано-косовские отношения — двусторонние дипломатические отношения между Албанией и частично признанным государством Республикой Косово. Протяжённость государственной границы ме...

 

American daily newspaper in Allentown, Pennsylvania For the similarly-named defunct New Jersey newspaper, see The Paterson Morning Call. The Morning CallThe front page of The Morning Call's July 27, 2005 editionTypeDaily newspaperFormatBroadsheetOwner(s)Alden Global CapitalFounded1883 (as The Critic)HeadquartersAllentown, Pennsylvania, U.S.ISSN2641-3825OCLC number137343977 RNI2019218558 (LCCN)*Websitehttp://mcall.com/ The Morning Call is a daily newspaper in Allentown, Pennsylvania. Found...

 

English guitarEnglish guitar made by William Gibson in 1772Classification String instrument (plucked)Hornbostel–Sachs classification321.322 (necked box lute)(Chordophone with permanently attached resonator and neck, sounded by a plectrum)Developed18th centuryRelated instruments List Modern descendants Corsican Cetera Portuguese guitar Waldzither Bowed Crwth Guitar fiddle Rebec Vielle Plucked Cetra Cithara Cittern Cythara Gittern Guitar Guitarra latina The English guitar or guittar (also cit...

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Beyond Good and Evil album – news · newspapers · books · scholar · JSTOR (November 2020) (Learn how and when to remove this template message) 2001 studio album by The CultBeyond Good and EvilStudio album by The CultReleased5 June 2001Recorded2000Ge...

 

Tool used to apply a specific torque A click torque wrench A torque wrench is a tool used to apply a specific torque to a fastener such as a nut, bolt, or lag screw. It is usually in the form of a socket wrench with an indicating scale, or an internal mechanism which will indicate (as by 'clicking', a specific movement of the tool handle in relation to the tool head) when a specified (adjustable) torque value has been reached during application. A torque wrench is used where the tightness of ...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!