भाग २] डायरेक्ट एक्स टेक्नोलॉजी : अंतर्गत सविस्तर महिती.


मायक्रोसॉफ्ट च्या सुपीक डोक्यातून आलेली संकल्पना : प्रोग्रामर्सना हार्डवेअरचा डायरेक्ट वापर करण्यापासून व त्यापासून होणाऱ्या अडचणी पासून थांबवणे व त्यांना वापरण्यास उपयुक्त कॉमन टूल किट तयार करणे या संकल्पनेतून DirectX चा जन्म झाला.

डायरेक्ट एक्स मुळे एक कॉमन स्टेनडर्ड तयार झाला जो गेमिंग अप्लिकेशन व मल्टिमीडिया अप्लिकेशन तयार करणाऱ्यांसाठी मोलाचा ठरू शकतो यामुळे डेव्हलपर्स चे काम सोईचे झालेच तसेच गेम खेळणाऱ्या व व्हिडिओ पाहणाऱ्या साठी काही सर्व काही गोष्टींची काळजी आपोआप घेतली जावू लागली .

डायरेक्ट एक्स बद्दल बेसिक महिती आपण मागील भागात पहिली आहेच. [भाग १ :Direct-X टेक्नोलॉजी म्हणजे काय ? पाहण्यासाठी येथे टिचकी मारा]

या भागात आपण डायरेक्ट एक्सचे अंतरंग व त्यातील प्रमुख विभागांची महिती पाहूया.

ऑपरेटिंग सिस्टीम व हार्डवेअर यांच्यातील दुवा म्हणून डायरेक्ट एक्स काम करतो. हा विंडोज अप्लिकेशन प्रोग्रामिंग इंटरफेस आहे.

ग्राफिक्स स्क्रीन वर दाखवणे यात प्रामुख्याने DirectX वापरतात.3D व 2D तयार करणे व ते स्क्रीन वर दाखवणे यासाठी Direct3D वापरतात.

डायरेक्ट एक्सचे प्रोब्लेम  शोधणारे टूल :

मायक्रोसोफ्टने डायरेक्ट एक्सशी निगडीत प्रोब्लेम शोधण्यासाठी DirectX Diagnostic Tool नावाचे टूल विकसित केले आहे.

रन डायलॉग बॉक्स मध्ये “dxdiag” कमांड टाईप करून ओक बटन दाबावे.

अप्लिकेशन लोड होण्यास थोडा वेळ घेते व ते डायरेक्ट एक्स बरोबर संभाषण करून प्रोब्लेम काय आहे ते दर्शविते.

DirectX Files नावाचा टेब प्रत्येक इन्स्टॉल केलेल्या फाईल व्हर्जन ची महिती देतो . खालील नोट सेक्शन हरवलेल्या व खराब झालेल्या फाईल बद्दल महिती देतो.

टूल चे छायाचित्र पाहण्यासाठी   येथे टिचकी मारा.

Direct3D हे DirectX चा API म्हणून कसे काम करते ते आपण पाहू:

Direct3D हा मार्केट मधील प्रसिद्ध  3D API आहे .

Direct3D अप्लिकेशन ग्राफिक्स हार्डवेअर अक्स्लेरेशेन डिव्हाईस (ग्राफिक्स कार्ड)मायक्रोसॉफ्ट विन ३२ एन्व्हायर्नमेंट सोबत काम करते.

ते HAL  प्रोटोकोल चा वापर करून हार्डवेअर कडून महिती घेतात.

डायरेक्ट एक्स अंतरंग

डायरेक्ट एक्स अंतरंग

DirecX मध्ये अनेक .lib आणि .h फाईल यांनी मिळून तयार झालेली लायब्ररी असते.

COM इंटरफेस DirectX ला अनेक प्रोग्रामिंग भाषेबरोबर काम करण्यास मदत करतो.

प्रोग्रेमर्स डायरेक्ट एक्स फीचर्स काही COM इंटरफेस चा वापर करून करतात.

DirectX फंक्शन  फेल्युअर कोड रिटर्न करतो त्याची कारणे पुढील असू शकतात:

  • फंक्शनला चुकीचे इनपुट मिळणे.
  • फंक्शन कॉल झालेले असताना ओब्जेक्ट फुल्ल इनिशियलाइझ नसतील.

अशा वेळी आपणास प्रोग्रम थाबवला जाऊन एरर्सची फाईल ,लाईन व एरर्स कोड दर्शविला जातो ; जेणेकरून आपण ती चूक दुरुस्त करू शकतो.

रिटर्न कोड हा HRESULT या टाईप मधील ३२ बीट व्हेरिएबल द्वारे दाखवला जातो.

Direct3D आर्किटेक्चर :

Direct3D ग्राफिक्स पाईप लाईन : Direct3D रेंडरींग सिस्टीम च्या आर्किटेक्चर ची अंतर्गत प्रोसेसिंग पद्धत:

ग्राफिक्स  पाईप लाईन ही प्रोसेसिंग स्पीड वाढवते व हार्डवेअर चा वापर करून स्क्रीन वर ग्राफिक्स डिस्प्ले करण्यास मदत करते .

d3d pipeline

 

  • व्हरटेक्स्ट डाटा : व्हरटेक्स्ट मेमरी बफर मध्ये डाटा पोईंट वेगवेगळे केले जातात.
  • प्रिमिटिव्ह डाटा: लाईन ,त्रिकोण, चौकोन या रचनांबद्दल महिती.
  • तेसेलेशन :यात महिती  व्हरटेक्स्ट  लोकेशन रुपात साठवणे.
  • व्हरटेक्स्ट प्रोसेसिंग : व्हरटेक्स्ट मेमरी तील डाटा वर  Direct3D ट्रान्स्फॉर्मेशन प्रोसेस केले जाते.
  • जिओमेट्री प्रोसेसिंग :शेप नुसार कटिंग व आकार देणे याची प्रोसेस केली जाते.
  • टेक्स्रचर युनिट :आकाराच्या  टेक्स्रचर बाबत संपूर्ण महिती Direct3D सर्फेस चा वापर करून पुरवली जाते.
  • पिक्सल प्रोसेसिंग: सर्व माहितीचा वापर करून पिक्सल च्या रंगाबाबत महिती तयार केली जाते.
  • पिक्सल रेंडरींग : पिक्सल व्हेलू वर प्रोसेस करून पिक्सल स्क्रीन वर डिस्प्ले करणे.

Direct3D ची  सिस्टीममधील रचना:

Direct3D अप्लिकेशन व ग्राफिक्स हार्डवेअर यांच्या मध्ये कसे काम करते ते आपण पाहूया.

विंडोज ३२ अप्लिकेशन प्रथम Direct3D  ए. पी. आय. वापरून डिव्हाईस ड्रायव्हर ला महिती विचारते व त्याद्वारे ग्राफिक्स कार्ड बरोबर संभाषण साधते.

d3dx

Direct3D हा अप्लिकेशनला ग्राफिक्स डिव्हाईस वापरण्यासाठी मदत करतो.

यात ग्राफिक्स कार्ड साठी वापरणाऱ्या डिव्हाईस ड्रायव्हर मार्फत महिती ग्राफिक्स कार्ड कडून घेतली जाते.

यात Direct3D  हे HAL चा ही उपयोग करून घेवू शकते. [हार्डवेअर अबस्टरेक्शन लेयर ]याद्वारे ग्राफिक्स पाईपलाईन ला जलद होण्यास मदत होते.

तसेच Direct3D मेथड डिस्प्ले बद्दल ची  महिती मिळवून त्याचा वापर करू शकतो.

DirectX11 ग्राफिक्स पाईप लाईन :

डायरेक्ट एक्स ११ हे सर्वात आधुनिक डायरेक्ट एक्स व्हर्जन आहे .या मध्ये फार आधुनिक ग्राफिक्स रेंडरींग च्या सुविधा देण्यात आलेल्या आहेत .

तेसेलेशन  हे DirectX11 मधील  प्रमुख फीचर !!

[नोंद: लेख लिहीत असताना DX11 हे लेटेस्ट व्हर्जिन होते Dx 12  मार्केट मध्ये अजून रिलीज झालेले नाही.]

आपण पुढे डायरेक्ट एक्स ११ ची ग्राफिक्स पाईपलाईन व त्याचे अंतरंग व उपयोग पाहूया.

dx11 pipeline

 

इनपुट असेम्बलर स्टेज: या स्टेज मध्ये मेमरीतील डाटाचा वापर करून व्हरटेक्स्ट शेडर व जिओमेट्री शेडरसाठी लागणारा डाटा तयार करते.

व त्यातील  व्हरटेक्स्ट शेडरसाठी लागणारा डाटा प्रथम पाठवला जातो.

हल् शेडर: हा तेसेलेशन स्टेजचा  पहिला भाग .

यात व्हरटेक्स्ट शेडर कडून कंट्रोल पोईंटचा डाटा घेवून हल् शेडर कॉस्टंट फंक्शन वापरून किती तेसेलेशन करायचे याचा फेक्टर काढला जातो.

तेसेलेशन: यात कंट्रोल पोईंट व तेसेलेशन  फेक्टर चा वापर करून आकृतीचे लहान भागात रुपांतर केले जाते.

डोमेन शेडर : यात तेसेलेशन डाटा वर फायनल प्रोसेसींग केले जाते.

तेसेलेशन च्या प्रकारानुसार आपणस वेगवेगळा डाटा मिळतो व त्यावर आपण पुढील प्रोसेसिंग करू शकतो.

जिओमेट्री शेडर:यामध्ये आकृती तयार केली जाते.

यात त्रिकोण किंवा चोकानाच्या पोईंट वरून त्याचा आकार तयार केला जातो.

स्टीम आउटपुट : ही पर्यायी स्टेज आहे.

यात तयार पोईंट नवीन बफर मध्ये साठवण्याची सुविधा देण्यात आली आहे.

रास्टरायझर: यात डाटाचे  पिक्सल शेडर साठी लागणाऱ्या डाटात रुपांतर केले जाते.

त्यासाठी आकार कट करणे त्यास खोली देणे असे काम केले जाते.

पिक्सल शेडर :यात पिक्सल हे डिस्प्ले वर दाखवण्या योग्य बनवले जातात.

तसेच हा डाटा बफर मध्ये ही साठवला जावू शकतो.

डायरेक्ट एक्स पाईपलाईन अशातर्‍हेने मेमरीतील डाटा पिक्सल रुपात ग्राफिक्सचा वापर करून डिस्प्ले करते.

अशातर्‍हेने आपण डायरेक्ट एक्स टेक्नोलॉजीचे  अंतर्गत व डायरेक्ट एक्स ११ ची ग्राफिक्स पाईपलाईन यांची महिती पाहिली आहे.

आपणस DirectX  बद्दल बेसिक महिती व त्यातील वेगवेगळ्या भागांच्या कामाबद्दल मिळालेली महिती नक्कीच उपयोगी पडेल.

आपणस ही महिती व लेख कसा वाटला ते नक्की कळवा.

DirectX वर आधारित भागास भेट देण्यासाठी येथे टिचकी मारा.

धन्यवाद :- MJ

तुमचा अभिप्राय नोंदवा

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / बदल )

Twitter picture

You are commenting using your Twitter account. Log Out / बदल )

Facebook photo

You are commenting using your Facebook account. Log Out / बदल )

Google+ photo

You are commenting using your Google+ account. Log Out / बदल )

Connecting to %s