पीओवी-रे
| File:Povray logo sphere.png | |
| Original author(s) | David Kirk Buck, Aaron A. Collins, Alexander Enzmann |
|---|---|
| Developer(s) | The POV-Team |
| 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 | Ray tracer |
| License | AGPL-3.0-or-later[3] |
| Website | www |
विज़न रे ट्रेसर की दृढ़ता, जिसे आमतौर पर पीओवी-रे के रूप में संक्षिप्त किया जाता है, एक क्रॉस-प्लेटफ़ॉर्म रे-ट्रेसिंग प्रोग्राम है जो पाठ-आधारित दृश्य विवरण से चित्र बनाता है। यह मूल रूप से अमिगा कंप्यूटरों के लिए डेविड किर्क बक और आरोन ए. कोलिन्स द्वारा लिखित डीकेबीट्रेस पर आधारित था। इसके लेखक, एलेक्जेंडर एन्ज़मैन के योगदान के कारण पहले के पॉलीरे [4] रेट्रेसर के प्रभाव भी हैं। पीओवी-रे एजीपीएल-3.0-या-बाद के लाइसेंस के तहत उपलब्ध स्रोत कोड के साथ मुफ़्त और ओपन-सोर्स सॉफ़्टवेयर है।
इतिहास
1980 के दशक में किसी समय, डेविड किर्क बक ने यूनिक्स रे ट्रैसर के लिए स्रोत कोड को अपने अमीगा में डाउनलोड किया। उन्होंने कुछ समय के लिए इसके साथ प्रयोग किया और अंततः अपने आद्याक्षरों के बाद डीकेबीट्रेस नाम से अपना स्वयं का किरण अनुरेखक लिखने का निर्णय लिया। उन्होंने इसे शिकागो में "यू कैन कॉल मी रे" बुलेटिन बोर्ड सिस्टम (बीबीएस) में पोस्ट किया, यह सोचकर कि अन्य लोगों की इसमें रुचि हो सकती है। 1987 में, हारून ए. कोलिन्स ने डीकेबीट्रेस को डाउनलोड किया और इसके x86 पोर्ट पर काम करना शुरू किया। उन्होंने और डेविड बक ने कई और फीचर जोड़ने के लिए सहयोग किया।
जब कार्यक्रम अनुमान से अधिक लोकप्रिय साबित हुआ, तो वे और अधिक सुविधाओं की मांग को पूरा नहीं कर पाए। इस प्रकार, जुलाई 1991 में, डेविड ने प्रोजेक्ट को कॉम्प्युसर्व पर "ग्राफ़डेव" फोरम में काम कर रहे प्रोग्रामरों की एक टीम को सौंप दिया। उसी समय, डेविड ने महसूस किया कि एक ऐसे कार्यक्रम पर अपने आद्याक्षर का उपयोग करना अनुचित था जिसे वह अब बनाए नहीं रखता। नाम "स्टार-लाइट" (एनीमेशन और रेंडरिंग पर सॉफ़्टवेयर टास्कफ़ोर्स) का प्रारंभ में उपयोग किया गया था, लेकिन अंततः नाम "पीवी-रे" बन गया, और अंततः "पीओवी-रे" (पर्सिस्टेंस ऑफ विजन रे ट्रैसर),[2] डाली की पेंटिंग, द पर्सिस्टेंस ऑफ मेमोरी से प्रेरित एक नाम।[5][6]
फ्लॉस वीकली के एपिसोड 24 पर डेविड किर्क बक और क्रिस कैसन के साथ फरवरी 2008 के एक साक्षात्कार में आवेदन की विशेषताओं और इसके इतिहास के सारांश पर चर्चा की गई है।[6]
विशेषताएं
पीओवी-रे अपने निर्माण के बाद से काफी परिपक्व हो गया है। सॉफ़्टवेयर के हाल के संस्करणों में निम्न विशेषताएं शामिल हैं:
- एक ट्यूरिंग-पूर्ण दृश्य विवरण भाषा (एसडीएल) जो मैक्रोज़ और लूप का समर्थन करती है[7]
- रेडी-मेड दृश्यों, बनावटों और वस्तुओं का एक पुस्तकालय
- कई ज्यामितीय आदिम और रचनात्मक ठोस ज्यामिति के लिए समर्थन
- कई प्रकार के प्रकाश स्रोत
- वायुमंडलीय प्रभाव जैसे कोहरा और मीडिया (धुआं, बादल)
- फोटॉन मैपिंग का उपयोग करके प्रतिबिंब (भौतिकी), अपवर्तन, और प्रकाश कास्टिक (प्रकाशिकी)।
- प्रक्रियात्मक बनावट और उभार का मानचित्रण में उपयोग के लिए सतह पैटर्न जैसे झुर्रियाँ, धक्कों और केशिका तरंग
- रेडियोसिटी (कंप्यूटर ग्राफिक्स)
- बनावट के लिए समर्थन (कंप्यूटर ग्राफिक्स) और कई छवि प्रारूपों में प्रस्तुत आउटपुट, जिसमें ट्रूविजन टार्गा फ़ाइल प्रारूप, पोर्टेबल नेटवर्क ग्राफ़िक्स और जेपीईजी शामिल हैं, अन्य
- व्यापक उपयोगकर्ता प्रलेखन
पीओवी-रे के मुख्य आकर्षणों में से एक इसका तीसरे पक्ष द्वारा बनाई गई संपत्ति और उपकरणों का बड़ा संग्रह है। वेब पर बड़ी संख्या में टूल, टेक्सचर, मॉडल, सीन और शिक्षण मिल सकते हैं। यह उन लोगों के लिए भी एक उपयोगी संदर्भ है जो किरण अनुरेखण और संबंधित 3डी ज्यामिति और कंप्यूटर ग्राफिक्स एल्गोरिदम काम करना सीखना चाहते हैं।
वर्तमान संस्करण
पीओवी-रे का वर्तमान आधिकारिक संस्करण 3.7 है। इस संस्करण का परिचय:
- सममित बहु प्रसंस्करण (सिमेट्रिक मल्टीप्रोसेसिंग (एसएमपी)) के लिए समर्थन, रेंडरर को कई प्रोसेसर का लाभ उठाने की अनुमति देने के लिए
- ओपनएक्सआर और रेडियंस फ़ाइल स्वरूपों सहित उच्च-गतिशील-श्रेणी इमेजिंग (एचडीआरआई) के लिए समर्थन
- बाइनरी स्पेस विभाजन ट्री का उपयोग करके बेहतर बाउंडिंग वॉल्यूम
पिछले रिलीज (3.6) की कुछ मुख्य पेश की गई विशेषताएं हैं:
- यूवी मैपिंग को और अधिक आदिम तक विस्तारित करना
- घनत्व फ़ाइल में 16- और 32-बिट पूर्णांक डेटा जोड़ना
- 64-बिट कंप्यूटिंग में सुधार|64-बिट कंप्यूटर संगतता
जुलाई 2006 में, एसएमपी (सिमेट्रिक मल्टीप्रोसेसिंग) कार्यान्वयन की दक्षता के कारण इंटेल कॉर्पोरेशन ने अपने नए दोहरे कोर कोनरो प्रोसेसर को प्रदर्शित करने के लिए 3.7 के बीटा संस्करण का उपयोग करना शुरू किया।
आदिम
[[File:Venn 0000 0001 0001 0110.png|thumb|रचनात्मक ठोस ज्यामिति के साथ बनाए गए चार क्षेत्रों के वेन आरेख का प्रतिपादन, or CSG. The source is commons:File:Venn 0000 0001 0001 0110.png#पीओवी-रे छवि का स्रोत। [[Image:PNG transparency demonstration 1.png|thumb|पीओवी-रे में प्रस्तुत कुछ रंगीन पासा। रचनात्मक ठोस ज्यामिति, अपवर्तन और फोकल ब्लर का प्रदर्शन किया जाता है।]]पीओवी-रे, मानक 3डी ज्यामिति आकृतियों जैसे टोरस्र्स , स्फेयर और हाइटफील्ड्स के अलावा, गणितीय रूप से परिभाषित आदिम (कंप्यूटर ग्राफिक्स) का समर्थन करता है जैसे कि isosurface (मनमाने कार्य का एक परिमित सन्निकटन), बहुपद प्रिमिटिव (एक अनंतता ऑब्जेक्ट द्वारा परिभाषित) एक बहुपद की एक डिग्री), जूलिया सेट (चार-आयामी अंतरिक्ष का एक 3-आयामी टुकड़ा | 4-आयामी फ्रैक्टल), superellipse (एक क्षेत्र और घन के बीच एक मध्यवर्ती), और पैरामीट्रिक सुविधा आधारित सममंडलर आदिम ( समीकरणों का उपयोग करना जो इसकी सतह का प्रतिनिधित्व करते हैं, इसके इंटीरियर के बजाय)।
पीओवी-रे आंतरिक रूप से अपनी गणितीय परिभाषाओं का उपयोग करके वस्तुओं का प्रतिनिधित्व करता है; सभी पीओवी-रे आदिम वस्तुओं को गणितीय कार्यों द्वारा वर्णित किया जा सकता है। यह कई कंप्यूटर प्रोग्रामों से अलग है जिनमें 3डी मॉडल शामिल हैं, जो आमतौर पर एक दृश्य में सभी वस्तुओं को बनाने के लिए त्रिभुज बहुभुज जाल का उपयोग करते हैं।
यह तथ्य पीओवी-रे को अन्य प्रतिपादन और मॉडलिंग प्रणालियों की तुलना में कई फायदे और नुकसान प्रदान करता है; पीओवी-रे आदिम अपने बहुभुज समकक्षों की तुलना में अधिक सटीक हैं: जिन वस्तुओं को गोले, तलीय सतहों, सिलेंडरों, तोरी और इसी तरह के रूप में वर्णित किया जा सकता है, वे पीओवी-रे रेंडरिंग में पूरी तरह चिकनी और गणितीय रूप से सटीक हैं, जबकि बहुभुज कलाकृतियां हो सकती हैं। मेश-आधारित मॉडलिंग सॉफ़्टवेयर में दिखाई देता है। पीओवी-रे प्रिमिटिव भी उनके अधिकांश बहुभुज समकक्षों की तुलना में परिभाषित करने के लिए सरल हैं, उदाहरण के लिए, पीओवी-रे में, एक क्षेत्र को उसके केंद्र और त्रिज्या द्वारा वर्णित किया गया है; मेश-आधारित वातावरण में, एक गोले को कई छोटे जुड़े हुए बहुभुजों (आमतौर पर यूवी क्षेत्र या आईकोवृत्त ) द्वारा वर्णित किया जाना चाहिए।
दूसरी ओर, स्क्रिप्ट-आधारित आदिम मॉडलिंग हमेशा कुछ वस्तुओं को बनाने के लिए एक व्यावहारिक तरीका नहीं होता है, जैसे कि यथार्थवादी चरित्र या कारों जैसी जटिल मानव निर्मित कलाकृतियाँ। उन वस्तुओं को पहले मेश-आधारित मॉडलिंग अनुप्रयोगों जैसे Wings 3D और Blender (सॉफ़्टवेयर) में बनाया जा सकता है और बनाया जाना चाहिए, और फिर उन्हें 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
मॉडलिंग
पीओवी-रे कार्यक्रम में स्वयं एक 3 डी मॉडलिंग फीचर शामिल नहीं है; यह अनिवार्य रूप से एक परिष्कृत मॉडल विवरण भाषा के साथ एक शुद्ध रेंडरर है। इस सुविधा सेट के साथ, तीसरे पक्षों ने मॉडलिंग सॉफ़्टवेयर की एक विशाल विविधता विकसित की है, कुछ पीओवी-रे के लिए विशेषीकृत हैं, अन्य इसके डेटा संरचनाओं के आयात और निर्यात का समर्थन करते हैं, जिसमें मुफ़्त और ओपन-सोर्स 3डी क्रिएशन सूट [1] शामिल है। .blender.org/index.php/Extensions:2.6/Py/Scripts/Render/POV-Ray Blender]।
कई अतिरिक्त पीओवी-रे संगत मॉडलर Povray.org: मॉडलिंग प्रोग्राम से जुड़े हुए हैं।
2007 में, पीओवी-रे ने मोरे के अधिकार हासिल कर लिए,[8] एक इंटरैक्टिव 3-डी मॉडलिंग प्रोग्राम लंबे समय तक पीओवी-रे के साथ प्रयोग किया जाता है। हालांकि, दिसंबर 2016 तक, मोरे का विकास रुका हुआ है।[9]
सॉफ्टवेयर
विकास और रखरखाव
पीओवी-रे स्रोत पेड़ में आधिकारिक संशोधन पीओवी-टीम द्वारा किया जाता है और/या अनुमोदित किया जाता है। अधिकांश पैच सबमिशन और/या बग रिपोर्टिंग पीओवी-रे समाचार समूहों में [2] यूज़नेट सर्वर (वेब इंटरफेस के साथ पर की जाती है .org/groups/ भी उपलब्ध)। चूंकि पीओवी-रे का स्रोत उपलब्ध है इसलिए अनौपचारिक कांटा (सॉफ्टवेयर) और पीओवी-रे के पैच किए गए संस्करण तीसरे पक्ष से उपलब्ध हैं; हालाँकि, ये आधिकारिक तौर पर POV-टीम द्वारा समर्थित नहीं हैं।
आधिकारिक पीओवी-रे संस्करण वर्तमान में शेडर प्लग-इन का समर्थन नहीं करते हैं।[10] रेडियोसिटी (कंप्यूटर ग्राफिक्स) और स्पलाइन (गणित) जैसी कुछ विशेषताएं अभी भी विकास में हैं और वाक्य-विन्यास परिवर्तन के अधीन हो सकती हैं।
मंच समर्थन
पीओवी-रे 3.6 मैक (कंप्यूटर), माइक्रोसॉफ़्ट विंडोज़ और लिनक्स के लिए संकलित प्रारूप में वितरित किया गया है। मैक (कंप्यूटर) संस्करण में ऐप्पल-इंटेल आर्किटेक्चर के लिए समर्थन उपलब्ध नहीं है, लेकिन चूंकि Mac OS X यूनिक्स का एक संस्करण है, लिनक्स संस्करण इस पर संकलक हो सकता है।
सममित मल्टीप्रोसेसिंग समर्थन वाले 3.7 संस्करण आधिकारिक तौर पर विंडोज और लिनक्स के लिए समर्थित हैं। v3.7 के लिए अनौपचारिक मैक (कंप्यूटर) संस्करण मिल सकते हैं।[11] पीओवी-रे किसी भी प्लेटफॉर्म के लिए स्रोत पोर्ट हो सकता है जिसमें संगत सी ++ कंपाइलर है।
लाइसेंसिंग
मूल रूप से, पीओवी-रे को अपने पीओवी-रे सॉफ़्टवेयर लाइसेंस के तहत वितरित किया गया था। अर्थात्, पीओवी-रे 3.6 वितरण लाइसेंस[12] और पीओवी-रे 3.6 स्रोत लाइसेंस,[13] जिसने कार्यक्रम स्रोत कोड और बायनेरिज़ के मुफ्त वितरण की अनुमति दी, लेकिन वाणिज्यिक वितरण और पीओवी-रे के पूरी तरह कार्यात्मक संस्करणों के अलावा व्युत्पन्न कार्यों के निर्माण को प्रतिबंधित किया।
हालांकि पुराने संस्करणों का स्रोत कोड संशोधन के लिए उपलब्ध है, उपरोक्त 3.6 और पूर्व लाइसेंस प्रतिबंधों के कारण, यह ओपन सोर्स सॉफ्टवेयर या ओपन सोर्स पहल या फ्री सॉफ्टवेयर फाउंडेशन शब्द की परिभाषा के अनुसार मुफ्त सॉफ्टवेयर नहीं था। यह एक समस्या थी क्योंकि कॉपीलेफ्ट लाइसेंस के साथ लाइसेंस असंगति के कारण अधिक मुक्त और खुला स्रोत सॉफ्टवेयर पारिस्थितिकी तंत्र के साथ स्रोत कोड विनिमय असंभव था।
पीओवी-रे को मूल रूप से मुफ्त सॉफ्टवेयर जीएनयू जनरल पब्लिक लाइसेंस (जीपीएल), या अन्य ओपन सोर्स लाइसेंस के तहत लाइसेंस नहीं दिया गया था, इसका एक कारण यह है कि पीओवी-रे को जीपीएल-शैली के लाइसेंस के व्यापक रूप से उपयोग किए जाने से पहले विकसित किया गया था; डेवलपर्स ने पीओवी-रे जारी करने के लिए अपना खुद का लाइसेंस लिखा, और सॉफ्टवेयर के योगदानकर्ताओं ने इस धारणा के तहत काम किया कि उनके योगदान को पीओवी-रे 3.6 लाइसेंस के तहत लाइसेंस दिया जाएगा।
2013 में, संस्करण 3.7 के साथ, पीओवी-रे मैं एक सामान्य सार्वजनिक लाइसेंस लाता हूं संस्करण 3 (या बाद में) के तहत पुनः लाइसेंसिंग कर रहा था।[14] इस प्रकार पीओवी-रे तब से फ्री सॉफ्टवेयर फाउंडेशन परिभाषा के अनुसार मुफ्त सॉफ्टवेयर है और ओपन सोर्स परिभाषा के अनुसार खुला स्रोत सॉफ्टवेयर भी है।
यह भी देखें
- ब्लेंडर (सॉफ्टवेयर) - 3डी मॉडलिंग, एनिमेशन और रेंडरिंग के लिए एक फ्री और ओपन-सोर्स सॉफ्टवेयर प्रोग्राम
- Kerkythea - उन्नत स्केचअप अनुकूलता के साथ एक फ्रीवेयर रे-ट्रेसिंग प्रोग्राम
- सूरजमुखी - जावा में लिखित फोटो-यथार्थवादी छवि संश्लेषण के लिए एक ओपन-सोर्स रेंडरिंग सिस्टम
- YafaRay - एक लोकप्रिय फ्री ओपन-सोर्स रे-ट्रेसिंग इंजन
संदर्भ
- ↑ "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).