पीओवी-रे
![]() | |
Original author(s) | डेविड किर्क बक, आरोन ए. कोलिन्स, अलेक्जेंडर एनज़मैन |
---|---|
Developer(s) | पीओवी-टीम |
Initial release | July 29, 1991[1][2] |
Stable release | Script error: The module returned a nil value. It is supposed to return an export table.
/ Script error: The module returned a nil value. It is supposed to return an export table. |
Written in | C++ |
Operating system | Cross-platform |
Type | रे ट्रेसर |
License | AGPL-3.0-or-later[3] |
Website | www |
विज़न रे ट्रेसर की दृढ़ता, जिसे सामान्यतः पीओवी-रे के रूप में संक्षिप्त किया जाता है, क्रॉस-प्लेटफ़ॉर्म रे-ट्रेसिंग प्रोग्राम है जो पाठ-आधारित दृश्य विवरण से चित्र बनाता है। यह मूल रूप से अमिगा कंप्यूटरों के लिए डेविड किर्क बक और आरोन ए. कोलिन्स द्वारा लिखित डीकेबीट्रेस पर आधारित था। इसके लेखक, एलेक्जेंडर एन्ज़मैन के योगदान के कारण पहले के पॉलीरे [4] रेट्रेसर के प्रभाव भी हैं। पीओवी-रे एजीपीएल-3.0-या-बाद के लाइसेंस के तहत उपलब्ध स्रोत कोड के साथ मुफ़्त और ओपन-सोर्स सॉफ़्टवेयर है।
इतिहास
1980 के दशक में किसी समय, डेविड किर्क बक ने यूनिक्स रे ट्रैसर के लिए स्रोत कोड को अपने अमीगा में डाउनलोड किया। उन्होंने कुछ समय के लिए इसके साथ प्रयोग किया और अंततः अपने आद्याक्षरों के बाद डीकेबीट्रेस नाम से अपना स्वयं का किरण अनुरेखक लिखने का निर्णय लिया। उन्होंने इसे शिकागो में "यू कैन कॉल मी रे" बुलेटिन बोर्ड सिस्टम (बीबीएस) में पोस्ट किया, यह सोचकर कि अन्य लोगों की इसमें रुचि हो सकती है। 1987 में, हारून ए. कोलिन्स ने डीकेबीट्रेस को डाउनलोड किया और इसके x86 पोर्ट पर काम करना प्रारम्भ किया। उन्होंने और डेविड बक ने कई और फीचर जोड़ने के लिए सहयोग किया।
जब कार्यक्रम अनुमान से अधिक लोकप्रिय साबित हुआ, तो वे और अधिक सुविधाओं की मांग को पूरा नहीं कर पाए। इस प्रकार, जुलाई 1991 में, डेविड ने प्रोजेक्ट को कॉम्प्युसर्व पर "ग्राफ़डेव" फोरम में काम कर रहे प्रोग्रामरों की एक टीम को सौंप दिया। उसी समय, डेविड ने महसूस किया कि एक ऐसे कार्यक्रम पर अपने आद्याक्षर का उपयोग करना अनुचित था जिसे वह अब बनाए नहीं रखता। नाम "स्टार-लाइट" (एनीमेशन और रेंडरिंग पर सॉफ़्टवेयर टास्कफ़ोर्स) का प्रारंभ में उपयोग किया गया था, लेकिन अंततः नाम "पीवी-रे" बन गया, और अंततः "पीओवी-रे" (पर्सिस्टेंस ऑफ विजन रे ट्रैसर),[2] डाली की पेंटिंग, द पर्सिस्टेंस ऑफ मेमोरी से प्रेरित एक नाम।[5][6]
फ्लॉस वीकली के एपिसोड 24 पर डेविड किर्क बक और क्रिस कैसन के साथ फरवरी 2008 के एक साक्षात्कार में आवेदन की विशेषताओं और इसके इतिहास के सारांश पर चर्चा की गई है।[6]
विशेषताएं
![](https://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Glasses_800_edit.png/300px-Glasses_800_edit.png)
पीओवी-रे अपने निर्माण के बाद से काफी परिपक्व हो गया है। सॉफ़्टवेयर के हाल के संस्करणों में निम्न विशेषताएं सम्मिलित हैं:
- ट्यूरिंग-पूर्ण दृश्य विवरण भाषा (एसडीएल) जो मैक्रोज़ और लूप का समर्थन करती है[7]
- रेडी-मेड दृश्यों, बनावटों और वस्तुओं का पुस्तकालय
- कई ज्यामितीय आदिम और रचनात्मक ठोस ज्यामिति के लिए समर्थन
- कई प्रकार के प्रकाश स्रोत
- वायुमंडलीय प्रभाव जैसे कोहरा और मीडिया (धुआं, बादल)
- फोटॉन मैपिंग का उपयोग करके प्रतिबिंब (भौतिकी), अपवर्तन, और प्रकाश कास्टिक (प्रकाशिकी)।
- प्रक्रियात्मक बनावट और उभार का मानचित्रण में उपयोग के लिए सतह पैटर्न जैसे झुर्रियाँ, धक्कों और केशिका तरंग
- रेडियोसिटी (कंप्यूटर ग्राफिक्स)
- बनावट के लिए समर्थन (कंप्यूटर ग्राफिक्स) और कई छवि प्रारूपों में प्रस्तुत आउटपुट, जिसमें ट्रूविजन टार्गा फ़ाइल प्रारूप, पोर्टेबल नेटवर्क ग्राफ़िक्स और जेपीईजी सम्मिलित हैं, अन्य
- व्यापक उपयोगकर्ता प्रलेखन
पीओवी-रे के मुख्य आकर्षणों में से एक इसका तीसरे पक्ष द्वारा बनाई गई संपत्ति और उपकरणों का बड़ा संग्रह है। वेब पर बड़ी संख्या में टूल, टेक्सचर, मॉडल, सीन और शिक्षण मिल सकते हैं। यह उन लोगों के लिए भी एक उपयोगी संदर्भ है जो किरण अनुरेखण और संबंधित 3डी ज्यामिति और कंप्यूटर ग्राफिक्स एल्गोरिदम काम करना सीखना चाहते हैं।
वर्तमान संस्करण
पीओवी-रे का वर्तमान आधिकारिक संस्करण 3.7 है। इस संस्करण का परिचय:
- सममित बहु प्रसंस्करण (सिमेट्रिक मल्टीप्रोसेसिंग (एसएमपी)) के लिए समर्थन, रेंडरर को कई प्रोसेसर का लाभ उठाने की अनुमति देने के लिए
- ओपनएक्सआर और रेडियंस फ़ाइल स्वरूपों सहित उच्च-गतिशील-श्रेणी इमेजिंग (एचडीआरआई) के लिए समर्थन
- बाइनरी स्पेस विभाजन ट्री का उपयोग करके बेहतर बाउंडिंग वॉल्यूम
पिछले रिलीज (3.6) की कुछ मुख्य पेश की गई विशेषताएं हैं:
- यूवी मैपिंग को और अधिक आदिम तक विस्तारित करना
- घनत्व फ़ाइल में 16- और 32-बिट पूर्णांक डेटा जोड़ना
- 64-बिट कंप्यूटिंग में सुधार|64-बिट कंप्यूटर संगतता
जुलाई 2006 में, एसएमपी (सिमेट्रिक मल्टीप्रोसेसिंग) कार्यान्वयन की दक्षता के कारण इंटेल कॉर्पोरेशन ने अपने नए दोहरे कोर कोनरो प्रोसेसर को प्रदर्शित करने के लिए 3.7 के बीटा संस्करण का उपयोग करना प्रारम्भ किया।
प्राचीन
पीओवी-रे, मानक 3डी ज्यामितीय आकृतियों जैसे कि टोरी, स्फेयर और हाइटफील्ड्स के अलावा, गणितीय रूप से परिभाषित आदिमों का समर्थन करता है जैसे कि आइसोसर्फेस (मनमाना कार्य का परिमित सन्निकटन), बहुपद आदिम (15वें क्रम द्वारा परिभाषित अनंत वस्तु या निचला बहुपद), जूलिया फ्रैक्टल (4-आयामी फ्रैक्टल का 3-आयामी टुकड़ा), सुपर क्वाड्रैटिक एलीपसॉइड (क्षेत्र और घन के बीच मध्यवर्ती), और पैरामीट्रिक आदिम (समीकरणों का उपयोग करके जो इसकी आंतरिक के बजाय इसकी सतह का प्रतिनिधित्व करते हैं)
पीओवी-रे आंतरिक रूप से अपनी गणितीय परिभाषाओं का उपयोग करके वस्तुओं का प्रतिनिधित्व करता है; सभी पीओवी-रे आदिम वस्तुओं को गणितीय कार्यों द्वारा वर्णित किया जा सकता है। यह कई कंप्यूटर प्रोग्रामों से अलग है जिनमें 3डी मॉडल सम्मिलित हैं, जो सामान्यतः दृश्य में सभी वस्तुओं को बनाने के लिए त्रिकोण जाल का उपयोग करते हैं।
यह तथ्य पीओवी-रे को अन्य प्रतिपादन और मॉडलिंग प्रणालियों की तुलना में कई फायदे और नुकसान प्रदान करता है; पीओवी-रे आदिम अपने बहुभुज समकक्षों की तुलना में अधिक सटीक हैं: जिन वस्तुओं को गोले, तलीय सतहों, सिलेंडरों, तोरी, और इसी तरह के रूप में वर्णित किया जा सकता है, वे पीओवी-रे रेंडरिंग में पूरी तरह से चिकने और गणितीय रूप से सटीक हैं, जबकि बहुभुज शिल्पकृतियाँ हो सकती हैं। मेश-आधारित मॉडलिंग सॉफ़्टवेयर में दिखाई देता है। पीओवी-रे प्रिमिटिव भी उनके अधिकांश बहुभुज समकक्षों की तुलना में परिभाषित करने के लिए सरल हैं, उदाहरण के लिए, पीओवी-रे में, क्षेत्र को उसके केंद्र और त्रिज्या द्वारा वर्णित किया गया है; मेश-आधारित वातावरण में, गोले को कई छोटे जुड़े हुए बहुभुजों (सामान्यतः क्वाड या त्रिकोण) द्वारा वर्णित किया जाना चाहिए।
दूसरी ओर, स्क्रिप्ट-आधारित आदिम मॉडलिंग कुछ वस्तुओं को बनाने के लिए हमेशा व्यावहारिक तरीका नहीं होता है, जैसे कि यथार्थवादी चरित्र या कारों जैसी जटिल मानव निर्मित कलाकृतियाँ। उन वस्तुओं को पहले मेश-आधारित मॉडलिंग अनुप्रयोगों जैसे विंग्स 3डी और ब्लेंडर में बनाया जा सकता है और बनाया जाना चाहिए, और फिर उन्हें पीओवी रे के अपने मेश प्रारूप में परिवर्तित किया जा सकता है।
दृश्य विवरण भाषा के उदाहरण
निम्नलिखित दृश्य विवरण भाषा का एक उदाहरण है जिसका उपयोग पीओवी-रे द्वारा प्रस्तुत करने के लिए दृश्य का वर्णन करने के लिए किया जाता है। यह पृष्ठभूमि रंग, कैमरा, रोशनी, सतह सामान्य और खत्म होने वाला साधारण बॉक्स आकार, और रोटेशन के परिवर्तनकारी प्रभाव का उपयोग दर्शाता है।
#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
मॉडलिंग
पीओवी-रे कार्यक्रम में ही मॉडलिंग सुविधा सम्मिलित नहीं है; यह परिष्कृत मॉडल विवरण भाषा के साथ अनिवार्य रूप से शुद्ध रेंडरर है। इस फीचर सेट के साथ, तृतीय पक्षों ने मॉडलिंग सॉफ्टवेयर की विशाल विविधता विकसित की है, कुछ पीओवी-रे के लिए विशेषीकृत हैं, अन्य इसके डेटा संरचनाओं के आयात और निर्यात का समर्थन करते हैं, जिसमें फ्री और ओपन-सोर्स 3डी क्रिएशन सूट ब्लेंडर सम्मिलित है।[1]
कई अतिरिक्त पीओवी-रे संगत मॉडलर Povray.org: मॉडलिंग प्रोग्रामसे जुड़े हुए हैं।
2007 में, पीओवी-रे ने मोरे, [8] के अधिकारों का अधिग्रहण किया, जो पीओवी-रे के साथ लंबे समय तक उपयोग किया जाने वाला इंटरैक्टिव 3-डी मॉडलिंग प्रोग्राम था। हालांकि, दिसंबर 2016 तक, मोरे विकास रुका हुआ है।[9]
सॉफ्टवेयर
विकास एवं अनुरक्षण
पीओवी-रे स्रोत पेड़ में आधिकारिक संशोधन पीओवी-टीम द्वारा किए गए और/या अनुमोदित किए गए हैं। अधिकांश पैच सबमिशन और/या बग रिपोर्टिंग पीओवी-रे समाचार समूह में news.povray.org समाचार सर्वर पर की जाती है (वेब इंटरफ़ेस भी उपलब्ध है)। चूंकि पीओवी-रे का स्रोत उपलब्ध है, इसलिए पीओवी-रे के अनौपचारिक फोर्क और पैच किए गए संस्करण तृतीय पक्षों से उपलब्ध हैं; हालाँकि, इन्हें पीओवी-टीम द्वारा आधिकारिक रूप से समर्थित नहीं किया जाता है।
आधिकारिक पीओवी-रे संस्करण वर्तमान में शेडर प्लग-इन का समर्थन नहीं करते।[10] कुछ विशेषताएं, जैसे रेडियोसिटी और स्प्लिन अभी भी विकास में हैं और वाक्य-विन्यास परिवर्तन के अधीन हो सकते हैं।
प्लेटफार्म समर्थन
पीओवी-रे 3.6 को मैक, विंडोज़ और लिनक्स के लिए संकलित प्रारूप में वितरित किया गया है। मैक संस्करण में इंटेल मैक के लिए समर्थन उपलब्ध नहीं है, लेकिन चूंकि मैक ओएस एक्स यूनिक्स का संस्करण है, लिनक्स संस्करण को उस पर संकलित किया जा सकता है।
एसएमपी समर्थन के साथ 3.7 संस्करण आधिकारिक तौर पर विंडोज और लिनक्स के लिए समर्थित हैं। v3.7 के लिए अनौपचारिक मैक संस्करण मिल सकते हैं।[11]
पीओवी-रे को किसी भी प्लेटफॉर्म पर पोर्ट किया जा सकता है जिसमें संगत C++ कंपाइलर है।
लाइसेंसिंग
मूल रूप से, पीओवी-रे अपने स्वयं के पीओवी-रे लाइसेंस के तहत वितरित किया गया था। अर्थात, पीओवी-रे 3.6 वितरण लाइसेंस[12] और पीओवी-रे 3.6 स्रोत लाइसेंस,[13] जिसने प्रोग्राम सोर्स कोड और बायनेरिज़ के मुफ्त वितरण की अनुमति दी, लेकिन पीओवी-रे के पूर्ण कार्यात्मक संस्करणों के अलावा वाणिज्यिक वितरण और व्युत्पन्न कार्यों के निर्माण को प्रतिबंधित किया।
हालांकि पुराने संस्करणों का स्रोत कोड संशोधन के लिए उपलब्ध है, उपरोक्त 3.6 और पूर्व लाइसेंस प्रतिबंधों के कारण, यह ओएसआई या एफएसएफ शब्द की परिभाषा के अनुसार ओपन-सोर्स या मुफ्त सॉफ्टवेयर नहीं था। यह समस्या थी क्योंकि कॉपीलेफ्ट लाइसेंस के साथ लाइसेंस असंगति के कारण अधिक एफओएसएस पारिस्थितिकी तंत्र के साथ स्रोत कोड विनिमय असंभव था।
पीओवी-रे को मूल रूप से मुफ्त सॉफ्टवेयर जीएनयू जनरल पब्लिक लाइसेंस (जीपीएल), या अन्य ओपन-सोर्स लाइसेंस के तहत लाइसेंस नहीं दिया गया था, इसका एक कारण यह है कि पीओवी-रे को जीपीएल-शैली के लाइसेंसों के व्यापक रूप से उपयोग होने से पहले विकसित किया गया था; डेवलपर्स ने पीओवी-रे की रिहाई के लिए अपना स्वयं का लाइसेंस लिखा था, और सॉफ़्टवेयर के योगदानकर्ताओं ने इस धारणा के तहत काम किया कि उनके योगदान को पीओवी-रे 3.6 लाइसेंस के तहत लाइसेंस दिया जाएगा।
2013 में, संस्करण 3.7 के साथ, पीओवी-रे को एफेरो जनरल पब्लिक लाइसेंस संस्करण 3 (या बाद के संस्करण) के तहत फिर से लाइसेंस दिया गया था।[14] इस प्रकार पीओवी-रे तब से एफएसएफ परिभाषा के अनुसार मुफ्त सॉफ्टवेयर है और ओपन सोर्स डेफिनिशन के अनुसार ओपन सोर्स सॉफ्टवेयर भी है।
यह भी देखें
- ब्लेंडर - 3डी मॉडलिंग, एनिमेशन और रेंडरिंग के लिए एक फ्री और ओपन सोर्स सॉफ्टवेयर प्रोग्राम
- केर्कीथिया- उन्नत स्केचअप अनुकूलता के साथ फ्रीवेयर किरण-अनुरेखण कार्यक्रम
- सनफ्लो - जावा में लिखित फोटो-यथार्थवादी छवि संश्लेषण के लिए ओपन-सोर्स रेंडरिंग सिस्टम
- याफ़ारे - लोकप्रिय मुक्त खुला स्रोत रे-ट्रेसिंग इंजन
संदर्भ
- ↑ "POV-Ray: Documentation: 1.1.5.3 A Historic 'Version History'". povray.org. Retrieved 2018-12-19.
- ↑ 2.0 2.1 "POV-Ray: News". povray.org. Retrieved 2018-12-19.
- ↑ "POV-Ray License". povray.org. Retrieved 2014-05-05.
- ↑ "Polyray v1.7". Alexander R. Enzmann. Retrieved 2016-07-05.
- ↑ "Documentation: 1.1.5 The Early History of". POV-Ray. Retrieved 2014-05-05.
- ↑ 6.0 6.1 "लियो लापोर्टे के साथ TWIT नेटकास्ट नेटवर्क". Twit.tv. 2008-02-07. Retrieved 2014-05-05.
- ↑ Paul Bourke: Supershape in 3D are examples of POV-Ray images made with very short code
- ↑ "News: Moray Announcement". POV-Ray. 2007-02-01. Retrieved 2014-05-05.
- ↑ "POV-Ray/povray: The persistence of Vision Raytracer". POV-Ray. 2013-09-06. Retrieved 2022-08-05.
- ↑ for such an implementation, see e.g., http://www.aetec.ee/fv/vkhomep.nsf/pages/povman2 Archived 2007-02-07 at the Wayback Machine
- ↑ povrayunofficial_mac on megapov.inetart.net
- ↑ "POV-Ray 3.6 Distribution License". povray.org. Retrieved 2016-12-12.
- ↑ "POV-Ray 3.6 Source License". povray.org. Retrieved 2016-12-12.
- ↑ 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).