सीधे मुख्य सामग्री पर जाएं

Illumination and Shading in Computer Graphics: Complete Guide (Hindi)

Illumination and Shading in Computer Graphics: Complete Guide (Hindi)

Computer Graphics में 3D object को जीवंत और वास्तविक (Realistic) दिखाना सबसे महत्वपूर्ण कार्य होता है। किसी भी 3D सीन (Scene) को वास्तविक दुनिया की तरह दिखाने के लिए Illumination (लाइटिंग) और Shading (शेडिंग) दो प्राथमिक तकनीकें हैं।
​इस गाइड में हम Illumination Model, Ambient, Diffuse, Specular Reflection, Light Source Attenuation, तथा Gouraud और Phong Shading को विस्तार से समझेंगे।
physics से हम मॉडल प्राप्त कर सकते हैं, जिन्हें "Illumination model" कहा जाता है, कि कैसे light surfaces से reflect होता है और जो हम रंग के रूप में देखते हैं उसका उत्पादन करते हैं। illumination के मॉडल को lighting model भी कहा जाता है, इसका उपयोग प्रकाश की intensity की गणना करने के लिए किया जाता है जिसे हमें किसी object की surfaces पर दिए गए point पर देखना चाहिए।
Introduction Illumination and Shading

​1. Illumination और Shading क्या है? (Introduction)

Illumination(लाइटिंग):-

किसी दिए गए point पर एक blocking surface पर per unit area में luminous flux है।

Lighting:-

specified 3-d points से reflected luminous intensity की गणना करने की प्रक्रिया।

Shading:-

पिक्सेल को रंग देने की प्रक्रिया।
realistic images कई reasons से महत्वपूर्ण हैं, लेकिन सबसे महत्वपूर्ण यह है कि लोग आमतौर पर उन्हें समझने में आसान होते हैं। छिपी हुई surfaces को हटाना, रोशनी (रोशनी) और Filming, texture mapping, shadows, transparency, बेहतर सिंथेटिक कैमरे और बेहतर मॉडल सभी visual realism को बढ़ाने में योगदान करते हैं। कंप्यूटर ग्राफिक्स का एक लंबे समय से target photorealism रहा है - real scenes की तस्वीरों से indistinguishable synthetic images का production।

Illumination and Shading:-

देखने वाली images बनाने के लिए, कम से कम कुछ objects को जलाया और shaded किया जाना चाहिए। एक Illumination या lighting model एक दिए गए point पर किसी object की surfaces का color set करने के लिए एक मॉडल या तकनीक है। 
 एक shading model एक broad framework है जो यह निर्धारित करता है कि एक lighting model का उपयोग कैसे किया जाता है और यह कौन से पैरामीटर प्राप्त करता है। 
 उदाहरण के लिए, light model का उपयोग किसी object द्वारा कवर किए गए प्रत्येक पिक्सेल के लिए या उसके शीर्ष के लिए किया जा सकता है। shading objects के लिए calculation का आधार पर्यावरण में lighting और objects की Mutual action है।
कंप्यूटर ग्राफिक्स में रोशनी के मॉडल अक्सर physical laws से loose form से प्राप्त होते हैं जो surface lighting की intensity का वर्णन करते हैं। Intensity calculation को कम करने के लिए, अधिकांश पैकेज सरल फोटोमेट्रिक गणनाओं के आधार पर empirical model का उपयोग करते हैं।

2. A Simple Illumination Model (Phong model) :-

 अधिकांश ग्राफिक्स लाइब्रेरी (जैसे OpenGL) में उपयोग किया जाने वाला Simple Illumination Model (जिसे Phong Reflection Model भी कहा जाता है) तीन मुख्य घटकों पर आधारित होता है:
A. Ambient light 
B. Diffuse reflection 
C. Specular reflection
 जिस मॉडल को हम देखते हैं उसे Phong Reflection Model के नाम से जाना जाता है। opengl lighting model में फोंग मॉडल के component हैं।

A. Ambient light(पर्यावरणीय प्रकाश):-

एक same intensity वाली background light की कल्पना करें जो scenes में सभी objects को सभी directions से समान रूप से प्रकाशित करता है। इसे ambient light के रूप में जाना जाता है। 

B. Diffuse reflection(विसरित परावर्तन):-

diffuse reflection का एक Simple Lambertian Reflection Model (सरल लैम्बर्टियन परावर्तन मॉडल) है। Ambient Light Reflection Global Diffused Light effects का एक अनुमान है। केवल ambient light से published items की Intensity हर जगह समान होती है। यदि किसी scenes में light source हैं तो light source और दर्शक के संबंध में दूरी और orientation के आधार पर अलग-अलग वस्तुओं की अलग-अलग intensity होनी चाहिए। 
A Simple Lambertian Reflection Model of diffuse reflection

 diffuse surface पर एक point सभी देखने की स्थितियों से समान रूप से appear bright देता है क्योंकि यह सभी directions में समान रूप से light को reflect करता है। अर्थात् इसकी तीव्रता दर्शक (intensity indicator) की स्थिति से Independent होती है। audience से Independent होते हुए भी, एक diffuse surface पर एक point की तीव्रता प्रकाश स्रोत(intensity light source) के संबंध में सतह के orientation और light source से दूरी पर निर्भर करती है।

 

C. Specular Reflection(स्पेक्युलर परावर्तन):-

specular reflection कठोर, चमकदार सतहों पर होता है और इसे हाइलाइट्स के रूप में देखा जाता है। specular highlights persistence  से directional हैं। फोंग आरमॉडल (Phong R model) में specular reflection के लिए approach यह है कि specular reflection की तीव्रता सामान्य और specular reflection direction के बीच के कोण के कोसाइन के रूप में कम हो जाती है जो कुछ शक्ति n तक बढ़ जाती है जो सतह की चमक को इंगित करती है। n की शक्ति जितनी अधिक होगी highlight उतना ही छोटा और चमकीला होगा।
specular reflection

3. Light Source Attenuation:-

किसी वस्तु की चमक न केवल दिशा पर बल्कि दूरी पर भी निर्भर होनी चाहिए। इसे light source attenuation (प्रकाश स्रोत क्षीणन) कहा जाता है। हम जानते हैं कि light source की intensity inverse square law (तीव्रता व्युत्क्रम वर्ग नियम का पालन) करती है। 

4. Shading Models: Gouraud Shading vs Phong Shading

Gouraud Shading:-

Illumination या lighting models किसी वस्तु की सतह पर एक point का रंग निर्धारित करते हैं।
 एक shading model यह determined करता है कि lighting models कहाँ लागू किया जाता है। अधिकांश सामान्य 3d graphics library polygon आधारित हैं।
 polygon के प्रत्येक शीर्ष पर gouraud shading light model लागू किया जाता है। बहुभुज परिणामी मानों के द्वि-रैखिक प्रक्षेप (bi-linear interpolation) द्वारा भरा जाता है। इसे ओपनजीएल में स्मूथ शेडिंग के रूप में जाना जाता है।

 प्रत्येक polygonal surface को निम्नलिखित गणना करके Gouraud Shading के साथ किया गया है:
Step:-
  1. प्रत्येक polygon vertex पर average unit normal vector निर्धारित करें।
  2. शीर्ष की तीव्रता की गणना करने के लिए प्रत्येक शीर्ष पर एक light model लागू करें।
  3. polygon की surface पर शीर्ष की तीव्रताओं को linear form से प्रक्षेपित करें।

Phong Shading (Phong Interpolation Shading):-

phong shading light model polygon द्वारा कवर किए गए प्रत्येक पिक्सेल पर लागू किया जाता है। प्रत्येक पिक्सेल पर सामान्य वेक्टर की गणना bi-linear interpolation द्वारा की जाती है।
 निम्नलिखित चरणों को पूरा करके फोंग शेडिंग का उपयोग करके एक polygonal surface किया जाता है -
  1. प्रत्येक polygon vertex पर average unit normal vector निर्धारित करें।
  2. polygon की सतह पर सामान्य शीर्ष को linear form से प्रक्षेपित करें।
  3. surface points के लिए estimated pixel intensity की गणना करने के लिए प्रत्येक स्कैन लाइन के साथ एक रोशनी मॉडल करें। गौरौद और फोंग शेडिंग का उपयोग polygonal objects को बनाने के लिए किया जाता है जो natural  से पहलूदार होते हैं और चिकनी दिखाई देते हैं।
Phong Shading

5. Ray Tracing क्या है?

Ray Tracking को पहली बार 1960 के दशक में Mathematical Applications Group Organization के वैज्ञानिकों द्वारा विकसित किया गया था। Ray Tracing का उपयोग coreputer garning और एनीमेशन, टेलीविजन और डीवीडी प्रोग्रामिंग और फिल्म निर्माण में बड़े पैमाने पर किया जाता है।
 कंप्यूटर ग्राफिक्स में, ray tracing एक image plane में पिक्सेल के माध्यम से प्रकाश के पथ का पता लगाकर और virtual objects के साथ इसके encounters के effects का imitation करके एक image generate करने की एक तकनीक है।
multiple reflections और broadcasts के साथ एक पिक्सेल स्थिति के माध्यम से projection reference point से एक किरण को ट्रैक करना।
ray tracing

 रे ट्रेसिंग कंप्यूटर के साथ images को प्रस्तुत करने के लिए मौजूद कई तकनीकों में से एक है। ray tracing के पीछे विचार यह है कि भौतिक रूप से सही images प्रकाश द्वारा बनाई जाती हैं और प्रकाश आमतौर पर एक light source से आएगा और हमारी आंखों या कैमरे से टकराने से पहले एक दृश्य में light rays के रूप में चारों ओर उछलेगा।

Conclusion:-

​Illumination और Shading तकनीकें कंप्यूटर ग्राफिक्स और 3D रेंडरिंग का आधार हैं। जहाँ Ambient, Diffuse और Specular मॉडल्स प्रकाश के व्यवहार को परिभाषित करते हैं, वहीं Gouraud और Phong Shading यह तय करते हैं कि वह दृश्य स्क्रीन पर कितना स्मूथ और वास्तविक दिखाई देगा।

​यदि आप गेम डेवलपमेंट या VFX में करियर बनाना चाहते हैं, तो इन principles को समझना आवश्यक है।





टिप्पणियाँ

इस ब्लॉग से लोकप्रिय पोस्ट

half adder and full adder in hindi

  आज हम  computer in hindi  मे  आज हम half adder and full adder in hindi - computer system architecture in hindi   के बारे में जानकारी देगे क्या होती है तो चलिए शुरु करते हैं-   के बारे में जानकारी देगे क्या होती है तो चलिए शुरु करते हैं- half adder and full adder in hindi:- 1. half adder in hindi 2. full adder in hindi  1. Half adder in hindi:- half adder  सबसे basic digital arithmetic circuit 2 binary digits का जोड़ है।  एक combination circuit जो दो bits के arithmetic जोड़ को display करता है उसे half adder कहा जाता है।   half adder के इनपुट variable को Augend और addend bits कहा जाता है। आउटपुट योग और Carrie को बदलता है। दो आउटपुट variable Specified करना आवश्यक है क्योंकि 1 + 1 का योग बाइनरी 10 है, जिसमें दो अंक हैं। हम दो इनपुट वेरिएबल्स के लिए x और y और दो आउटपुट वेरिएबल के लिए S (योग के लिए) और C (कैरी के लिए) असाइन करते हैं। C output 0 है जब तक कि दोनों इनपुट 1 न हों। S आउटपुट योग के कम से कम महत्वपूर्ण बिट ...

Combinational Circuits in hindi

Combinational Circuits in hindi:-  एक circuit को एक combination circuit कहा जाता है जब इसका आउटपुट पूरी तरह से इसके वर्तमान इनपुट द्वारा निर्धारित होता है। इनपुट 0 या 1 मान ले सकते हैं और आउटपुट 0 या 1 के रूप में भी उपलब्ध हैं। चूंकि आउटपुट बूलियन expression द्वारा इनपुट से related है, इसलिए एक truth table हमेशा सभी combination circuit से जुड़ी होती है। इसके विपरीत, truth table से एक संयोजन सर्किट के लिए एक बूलियन expression प्राप्त की जा सकती है। half adder in hindi:- half adder एक सर्किट है जो दो बाइनरी बिट जोड़ सकता है। इसके आउटपुट SUM और CARRY हैं। निम्न truth table इनपुट के various combinations और semi-additive के उनके संबंधित आउटपुट दिखाती है। X और Y इनपुट को दर्शाते हैं और C और S CARRY और SUM को दर्शाते हैं। More details click her Full- Adder in hindi:- Full- Adder तीन बाइनरी बिट्स को जोड़ने के लिए एक लॉजिक सर्किट है। इसके आउटपुट SUM और CARRY हैं। निम्नलिखित सत्य तालिका में X, Y, Z इनपुट हैं और C और S CARRY और SUM हैं। More details click her Half-Subtractor in hi...

encoder in hindi (एनकोडर क्या है)

आज हम computer in hindi मे आज हम encoder in hindi (एनकोडर क्या है) - computer system architecture in hindi के बारे में जानकारी देते क्या होती है तो चलिए शुरु करते हैं- encoder in hindi (एनकोडर क्या है) :- एक एनकोडर एक डिजिटल सर्किट है जो एक डिकोडर का उलटा Operation करता है। एक एनकोडर में 2" (या उससे कम) इनपुट लाइनें और n आउटपुट लाइनें होती हैं। आउटपुट लाइनें इनपुट मान के अनुरूप बाइनरी कोड उत्पन्न करती हैं। एनकोडर का एक उदाहरण octal-to-binary encoder है, इसमें आठ इनपुट हैं, प्रत्येक octal अंकों के लिए एक, और तीन आउटपुट जो Connected बाइनरी नंबर उत्पन्न करते हैं। यह माना जाता है कि किसी भी समय केवल एक इनपुट का मान 1 है; अन्यथा, सर्किट कोई मतलब नहीं है। एनकोडर को या गेट्स के साथ Executed किया जा सकता है जिनके इनपुट सीधे truth table से निर्धारित होते हैं। आउटपुट A, 1 यदि इनपुट octalअंक 1 या 3 या 5 या 7 है। अन्य दो आउटपुट के लिए समान Terms लागू होती हैं। इन Terms को  बूलियन फ़ंक्शंस द्वारा define किया जा सकता है: एन्कोडर को तीन या गेट्स के साथ Executed किया जा सकता है। A0...