पीओवी-रे

विज़न रे ट्रेसर की दृढ़ता, जिसे आमतौर पर पीओवी-रे के रूप में संक्षिप्त किया जाता है, एक क्रॉस-प्लेटफ़ॉर्म रे-ट्रेसिंग प्रोग्राम है जो पाठ-आधारित दृश्य विवरण से चित्र बनाता है। यह मूल रूप से अमिगा कंप्यूटरों के लिए डेविड किर्क बक और आरोन ए. कोलिन्स द्वारा लिखित डीकेबीट्रेस पर आधारित था। इसके लेखक, एलेक्जेंडर एन्ज़मैन के योगदान के कारण पहले के पॉलीरे रेट्रेसर के प्रभाव भी हैं। पीओवी-रे एजीपीएल-3.0-या-बाद के लाइसेंस के तहत उपलब्ध स्रोत कोड के साथ मुफ़्त और ओपन-सोर्स सॉफ़्टवेयर है।

इतिहास
1980 के दशक में किसी समय, डेविड किर्क बक ने यूनिक्स रे ट्रैसर के लिए स्रोत कोड को अपने अमीगा में डाउनलोड किया। उन्होंने कुछ समय के लिए इसके साथ प्रयोग किया और अंततः अपने आद्याक्षरों के बाद डीकेबीट्रेस नाम से अपना स्वयं का किरण अनुरेखक लिखने का निर्णय लिया। उन्होंने इसे शिकागो में "यू कैन कॉल मी रे" बुलेटिन बोर्ड सिस्टम (बीबीएस) में पोस्ट किया, यह सोचकर कि अन्य लोगों की इसमें रुचि हो सकती है। 1987 में, हारून ए. कोलिन्स ने डीकेबीट्रेस को डाउनलोड किया और इसके x86 पोर्ट पर काम करना शुरू किया। उन्होंने और डेविड बक ने कई और फीचर जोड़ने के लिए सहयोग किया।

जब कार्यक्रम अनुमान से अधिक लोकप्रिय साबित हुआ, तो वे और अधिक सुविधाओं की मांग को पूरा नहीं कर पाए। इस प्रकार, जुलाई 1991 में, डेविड ने प्रोजेक्ट को कॉम्प्युसर्व पर "ग्राफ़डेव" फोरम में काम कर रहे प्रोग्रामरों की एक टीम को सौंप दिया। उसी समय, डेविड ने महसूस किया कि एक ऐसे कार्यक्रम पर अपने आद्याक्षर का उपयोग करना अनुचित था जिसे वह अब बनाए नहीं रखता। नाम "स्टार-लाइट" (एनीमेशन और रेंडरिंग पर सॉफ़्टवेयर टास्कफ़ोर्स) का प्रारंभ में उपयोग किया गया था, लेकिन अंततः नाम "पीवी-रे" बन गया, और अंततः "पीओवी-रे" (पर्सिस्टेंस ऑफ विजन रे ट्रैसर), डाली की पेंटिंग, द पर्सिस्टेंस ऑफ मेमोरी से प्रेरित एक नाम।

फ्लॉस वीकली के एपिसोड 24 पर डेविड किर्क बक और क्रिस कैसन के साथ फरवरी 2008 के एक साक्षात्कार में आवेदन की विशेषताओं और इसके इतिहास के सारांश पर चर्चा की गई है।

विशेषताएं
पीओवी-रे अपने निर्माण के बाद से काफी परिपक्व हो गया है। सॉफ़्टवेयर के हाल के संस्करणों में निम्न विशेषताएं शामिल हैं:


 * एक ट्यूरिंग-पूर्ण दृश्य विवरण भाषा (एसडीएल) जो मैक्रोज़ और लूप का समर्थन करती है
 * रेडी-मेड दृश्यों, बनावटों और वस्तुओं का एक पुस्तकालय
 * कई ज्यामितीय आदिम और रचनात्मक ठोस ज्यामिति के लिए समर्थन
 * कई प्रकार के प्रकाश स्रोत
 * वायुमंडलीय प्रभाव जैसे कोहरा और मीडिया (धुआं, बादल)
 * फोटॉन मैपिंग का उपयोग करके प्रतिबिंब (भौतिकी), अपवर्तन, और प्रकाश कास्टिक (प्रकाशिकी)।
 * प्रक्रियात्मक बनावट और उभार का मानचित्रण में उपयोग के लिए सतह पैटर्न जैसे झुर्रियाँ, धक्कों और केशिका तरंग
 * रेडियोसिटी (कंप्यूटर ग्राफिक्स)
 * बनावट के लिए समर्थन (कंप्यूटर ग्राफिक्स) और कई छवि प्रारूपों में प्रस्तुत आउटपुट, जिसमें ट्रूविजन टार्गा फ़ाइल प्रारूप, पोर्टेबल नेटवर्क ग्राफ़िक्स और जेपीईजी शामिल हैं, अन्य
 * व्यापक उपयोगकर्ता प्रलेखन

पीओवी-रे के मुख्य आकर्षणों में से एक इसका तीसरे पक्ष द्वारा बनाई गई संपत्ति और उपकरणों का बड़ा संग्रह है। वेब पर बड़ी संख्या में टूल, टेक्सचर, मॉडल, सीन और शिक्षण मिल सकते हैं। यह उन लोगों के लिए भी एक उपयोगी संदर्भ है जो किरण अनुरेखण और संबंधित 3डी ज्यामिति और कंप्यूटर ग्राफिक्स एल्गोरिदम काम करना सीखना चाहते हैं।

वर्तमान संस्करण
पीओवी-रे का वर्तमान आधिकारिक संस्करण 3.7 है। इस संस्करण का परिचय:


 * सममित बहु प्रसंस्करण (सिमेट्रिक मल्टीप्रोसेसिंग (एसएमपी)) के लिए समर्थन, रेंडरर को कई प्रोसेसर का लाभ उठाने की अनुमति देने के लिए
 * ओपनएक्सआर और रेडियंस फ़ाइल स्वरूपों सहित उच्च-गतिशील-श्रेणी इमेजिंग (एचडीआरआई) के लिए समर्थन
 * बाइनरी स्पेस विभाजन ट्री का उपयोग करके बेहतर बाउंडिंग वॉल्यूम

पिछले रिलीज (3.6) की कुछ मुख्य पेश की गई विशेषताएं हैं:


 * यूवी मैपिंग को और अधिक आदिम तक विस्तारित करना
 * घनत्व फ़ाइल में 16- और 32-बिट पूर्णांक डेटा जोड़ना
 * 64-बिट कंप्यूटिंग में सुधार|64-बिट कंप्यूटर संगतता

जुलाई 2006 में, एसएमपी (सिमेट्रिक मल्टीप्रोसेसिंग) कार्यान्वयन की दक्षता के कारण इंटेल कॉर्पोरेशन ने अपने नए दोहरे कोर कोनरो प्रोसेसर को प्रदर्शित करने के लिए 3.7 के बीटा संस्करण का उपयोग करना शुरू किया।

प्राचीन
पीओवी-रे, मानक 3डी ज्यामितीय आकृतियों जैसे कि टोरी, स्फेयर और हाइटफील्ड्स के अलावा, गणितीय रूप से परिभाषित आदिमों का समर्थन करता है जैसे कि आइसोसर्फेस (एक मनमाना कार्य का एक परिमित सन्निकटन), बहुपद आदिम (15वें क्रम द्वारा परिभाषित एक अनंत वस्तु या निचला बहुपद), जूलिया फ्रैक्टल (4-आयामी फ्रैक्टल का एक 3-आयामी टुकड़ा), सुपर क्वाड्रैटिक एलीपसॉइड (एक क्षेत्र और घन के बीच एक मध्यवर्ती), और पैरामीट्रिक आदिम (समीकरणों का उपयोग करके जो इसकी आंतरिक के बजाय इसकी सतह का प्रतिनिधित्व करते हैं)

पीओवी-रे आंतरिक रूप से अपनी गणितीय परिभाषाओं का उपयोग करके वस्तुओं का प्रतिनिधित्व करता है; सभी पीओवी-रे आदिम वस्तुओं को गणितीय कार्यों द्वारा वर्णित किया जा सकता है। यह कई कंप्यूटर प्रोग्रामों से अलग है जिनमें 3डी मॉडल शामिल हैं, जो आम तौर पर एक दृश्य में सभी वस्तुओं को बनाने के लिए त्रिकोण जाल का उपयोग करते हैं।

यह तथ्य पीओवी-रे को अन्य प्रतिपादन और मॉडलिंग प्रणालियों की तुलना में कई फायदे और नुकसान प्रदान करता है; पीओवी-रे आदिम अपने बहुभुज समकक्षों की तुलना में अधिक सटीक हैं: जिन वस्तुओं को गोले, तलीय सतहों, सिलेंडरों, तोरी, और इसी तरह के रूप में वर्णित किया जा सकता है, वे पीओवी-रे रेंडरिंग में पूरी तरह से चिकने और गणितीय रूप से सटीक हैं, जबकि बहुभुज शिल्पकृतियाँ हो सकती हैं। मेश-आधारित मॉडलिंग सॉफ़्टवेयर में दिखाई देता है। पीओवी-रे प्रिमिटिव भी उनके अधिकांश बहुभुज समकक्षों की तुलना में परिभाषित करने के लिए सरल हैं, उदाहरण के लिए, पीओवी-रे में, एक क्षेत्र को उसके केंद्र और त्रिज्या द्वारा वर्णित किया गया है; मेश-आधारित वातावरण में, एक गोले को कई छोटे जुड़े हुए बहुभुजों (आमतौर पर क्वाड या त्रिकोण) द्वारा वर्णित किया जाना चाहिए।

दूसरी ओर, स्क्रिप्ट-आधारित आदिम मॉडलिंग कुछ वस्तुओं को बनाने के लिए हमेशा एक व्यावहारिक तरीका नहीं होता है, जैसे कि यथार्थवादी चरित्र या कारों जैसी जटिल मानव निर्मित कलाकृतियाँ। उन वस्तुओं को पहले मेश-आधारित मॉडलिंग अनुप्रयोगों जैसे Wings 3D और Blender में बनाया जा सकता है और बनाया जाना चाहिए, और फिर उन्हें POV-Ray के अपने मेश प्रारूप में परिवर्तित किया जा सकता है।

दृश्य विवरण भाषा के उदाहरण
निम्नलिखित दृश्य विवरण भाषा का एक उदाहरण है जिसका उपयोग पीओवी-रे द्वारा प्रस्तुत करने के लिए एक दृश्य का वर्णन करने के लिए किया जाता है। यह एक पृष्ठभूमि रंग, कैमरा, रोशनी, सतह सामान्य और खत्म होने वाला एक साधारण बॉक्स आकार, और रोटेशन के परिवर्तनकारी प्रभाव का उपयोग दर्शाता है।



निम्नलिखित स्क्रिप्ट खंड चर घोषणा, असाइनमेंट, तुलना और लूप निर्माण के उपयोग को दर्शाता है:



मॉडलिंग
पीओवी-रे कार्यक्रम में ही मॉडलिंग सुविधा शामिल नहीं है; यह एक परिष्कृत मॉडल विवरण भाषा के साथ अनिवार्य रूप से एक शुद्ध रेंडरर है। इस फीचर सेट के साथ, तृतीय पक्षों ने मॉडलिंग सॉफ्टवेयर की एक विशाल विविधता विकसित की है, कुछ पीओवी-रे के लिए विशेषीकृत हैं, अन्य इसके डेटा संरचनाओं के आयात और निर्यात का समर्थन करते हैं, जिसमें फ्री और ओपन-सोर्स 3डी क्रिएशन सूट ब्लेंडर शामिल है।[https://en]

कई अतिरिक्त पीओवी-रे संगत मॉडलर Povray.org: मॉडलिंग प्रोग्रामसे जुड़े हुए हैं।

2007 में, पीओवी-रे ने मोरे, के अधिकारों का अधिग्रहण किया, जो पीओवी-रे के साथ लंबे समय तक इस्तेमाल किया जाने वाला एक इंटरैक्टिव 3-डी मॉडलिंग प्रोग्राम था। हालांकि, दिसंबर 2016 तक, मोरे विकास रुका हुआ है।

विकास और रखरखाव
पीओवी-रे स्रोत पेड़ में आधिकारिक संशोधन पीओवी-टीम द्वारा किया जाता है और/या अनुमोदित किया जाता है। अधिकांश पैच सबमिशन और/या बग रिपोर्टिंग पीओवी-रे समाचार समूहों में [nntp://news.povray.org/news.povray.org] यूज़नेट सर्वर (वेब इंटरफेस के साथ पर की जाती है .org/groups/ भी उपलब्ध)। चूंकि पीओवी-रे का स्रोत उपलब्ध है इसलिए अनौपचारिक कांटा (सॉफ्टवेयर)  और पीओवी-रे के पैच किए गए संस्करण तीसरे पक्ष से उपलब्ध हैं; हालाँकि, ये आधिकारिक तौर पर POV-टीम द्वारा समर्थित नहीं हैं।

आधिकारिक पीओवी-रे संस्करण वर्तमान में शेडर प्लग-इन का समर्थन नहीं करते हैं। रेडियोसिटी (कंप्यूटर ग्राफिक्स) और स्पलाइन (गणित) जैसी कुछ विशेषताएं अभी भी विकास में हैं और वाक्य-विन्यास परिवर्तन के अधीन हो सकती हैं।

मंच समर्थन
पीओवी-रे 3.6 मैक (कंप्यूटर), माइक्रोसॉफ़्ट विंडोज़  और लिनक्स के लिए संकलित प्रारूप में वितरित किया गया है। मैक (कंप्यूटर) संस्करण में ऐप्पल-इंटेल आर्किटेक्चर के लिए समर्थन उपलब्ध नहीं है, लेकिन चूंकि Mac OS X  यूनिक्स का एक संस्करण है, लिनक्स संस्करण इस पर  संकलक  हो सकता है।

सममित मल्टीप्रोसेसिंग समर्थन वाले 3.7 संस्करण आधिकारिक तौर पर विंडोज और लिनक्स के लिए समर्थित हैं। v3.7 के लिए अनौपचारिक मैक (कंप्यूटर) संस्करण मिल सकते हैं। पीओवी-रे किसी भी प्लेटफॉर्म के लिए स्रोत पोर्ट  हो सकता है जिसमें संगत सी ++ कंपाइलर है।

लाइसेंसिंग
मूल रूप से, पीओवी-रे को अपने पीओवी-रे सॉफ़्टवेयर लाइसेंस  के तहत वितरित किया गया था। अर्थात्, पीओवी-रे 3.6 वितरण लाइसेंस और पीओवी-रे 3.6 स्रोत लाइसेंस, जिसने कार्यक्रम स्रोत कोड और बायनेरिज़ के मुफ्त वितरण की अनुमति दी, लेकिन वाणिज्यिक वितरण और पीओवी-रे के पूरी तरह कार्यात्मक संस्करणों के अलावा व्युत्पन्न कार्यों के निर्माण को प्रतिबंधित किया।

हालांकि पुराने संस्करणों का स्रोत कोड संशोधन के लिए उपलब्ध है, उपरोक्त 3.6 और पूर्व लाइसेंस प्रतिबंधों के कारण, यह ओपन सोर्स सॉफ्टवेयर या ओपन सोर्स पहल  या फ्री सॉफ्टवेयर फाउंडेशन शब्द की परिभाषा के अनुसार मुफ्त सॉफ्टवेयर नहीं था। यह एक समस्या थी क्योंकि कॉपीलेफ्ट लाइसेंस के साथ लाइसेंस असंगति के कारण अधिक मुक्त और खुला स्रोत सॉफ्टवेयर पारिस्थितिकी तंत्र के साथ स्रोत कोड विनिमय असंभव था।

पीओवी-रे को मूल रूप से मुफ्त सॉफ्टवेयर जीएनयू जनरल पब्लिक लाइसेंस (जीपीएल), या अन्य ओपन सोर्स लाइसेंस के तहत लाइसेंस नहीं दिया गया था, इसका एक कारण यह है कि पीओवी-रे को जीपीएल-शैली के लाइसेंस के व्यापक रूप से उपयोग किए जाने से पहले विकसित किया गया था; डेवलपर्स ने पीओवी-रे जारी करने के लिए अपना खुद का लाइसेंस लिखा, और सॉफ्टवेयर के योगदानकर्ताओं ने इस धारणा के तहत काम किया कि उनके योगदान को पीओवी-रे 3.6 लाइसेंस के तहत लाइसेंस दिया जाएगा।

2013 में, संस्करण 3.7 के साथ, पीओवी-रे मैं एक सामान्य सार्वजनिक लाइसेंस लाता हूं संस्करण 3 (या बाद में) के तहत पुनः लाइसेंसिंग कर रहा था। इस प्रकार पीओवी-रे तब से फ्री सॉफ्टवेयर फाउंडेशन परिभाषा के अनुसार मुफ्त सॉफ्टवेयर है और ओपन सोर्स परिभाषा  के अनुसार  खुला स्रोत सॉफ्टवेयर  भी है।

यह भी देखें

 * ब्लेंडर (सॉफ्टवेयर) - 3डी मॉडलिंग, एनिमेशन और रेंडरिंग के लिए एक फ्री और ओपन-सोर्स सॉफ्टवेयर प्रोग्राम
 * Kerkythea - उन्नत स्केचअप अनुकूलता के साथ एक फ्रीवेयर रे-ट्रेसिंग प्रोग्राम
 * सूरजमुखी - जावा में लिखित फोटो-यथार्थवादी छवि संश्लेषण के लिए एक ओपन-सोर्स रेंडरिंग सिस्टम
 * YafaRay - एक लोकप्रिय फ्री ओपन-सोर्स रे-ट्रेसिंग इंजन