Difference between revisions 1329 and 1330 on hiwikiversity

{{कंप्यूटर ग्राफिक्स -- 2013-2014 -- info.uvt.ro/पेज हैडर}}

== डायरेक्टएक्स9 में संक्षिप्त परिचय ==
=== अवलोकन ===
इस प्रयोगशाला में हम डायरेक्टएक्स में सरल दृश्य के बनाने और इसे के अंदर कुछ तत्वों के साथ ड्रा के विषय में कुछ सामान्य मुद्दों पर चर्चा करेंगे। कोड सी# में लिखे जाएँगे। यह बारीकी से जावा जैसा दिखता है।

=== साधारण हैलो वर्ल्ड एप्लीकेशन बनाना ===

<source lang="csharp">
[...]
using Microsoft.DirectX;
using Microsoft.DirectX.Direct3D;
using Direct3D = Microsoft.DirectX.Direct3D;

namespace FirstDirectX
{

    public class HelloDirectX : System.Windows.Forms.Form
    {
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(true);
            
            HelloDirectX frm = new     HelloDirectX();
            frm.Show();

            Application.run(frm);
        }

        [...]
    }
}
</source>

हर प्रबंधित डायरेक्टएक्स एप्लीकेशन में मूल रूप से आवश्यक:
* '''आरंभीकरण (initialization)''' विधि जहां Direct3D.Device वस्तु को जोड़ने पूरा किया है। (ओजीएल ''Init'' फ़ंक्शन के समान)
* '''रेंडरिंग (rendering)''' विधि जो दृश्य हैंडलिंग करता है। (ओजीएल डिस्प्ले फ़ंक्शन समान)
* एक '''डिवाइस रीसेट''' हैंडलिंग विधि। इसका उदाहरण है जब खिड़की विंडो के साइज में परिवर्तन (resize) किया जाता है। तभ ऐसी घटना पर यह हैंडलिंग विधि शुरू हो जाती है।

इसके अलावा हम माउस, कीबोर्ड, जॉयस्टिक आदि का उपयोग के लिये कुछ '''यूजर इंटरेक्शन (user interaction)''' की आवश्यकता होती है।

==== डायरेक्टएक्स डिवाइस के आरंभीकरण (Initialization)====
डायरेक्टएक्स डिवाइस के आरंभीकरण में आम तौर पर एक कस्टम विधि के अंदर किया जाता है। जिसे दृश्य रेंडरिंग से पहले कॉल(Call) करने की जरूरत होती है। कोड के अगले खंड से पता चलता है कि हम यह कैसे प्राप्त कर सकते हैं:

<source lang="csharp">
[...]
using Microsoft.DirectX;
using Microsoft.DirectX.Direct3D;
using Direct3D = Microsoft.DirectX.Direct3D;

(contracted; show full)
        [...]
    }
}
</source>

==== डिवाइस रीसेट (Device resetting) ====
'''OnResetDevice''' ईवेंट हैंडलर किसी भी Direct3D संबंधित वस्तुओं को बनाने और इनिशियलाइज़ करने के लिए एक अच्छी जगह है
। जो डिवाइस रीसेट के दौरान अमान्य(invalid) हो सकता है:
<source lang="csharp">
[...]
using Microsoft.DirectX;
using Microsoft.DirectX.Direct3D;
using Direct3D = Microsoft.DirectX.Direct3D;

namespace FirstDirectX
(contracted; show full)
== लिंक ==
* [http://www.riemers.net/eng/Tutorials/DirectX/Csharp/series1.php प्रबंधित डायरेक्टएक्स9 ट्यूटोरियल]

{{कंप्यूटर ग्राफिक्स -- 2013-2014 -- info.uvt.ro/पेज फ़ुटर}}

[[Category:HI]]
[[Category:कंप्यूटर ग्राफिक्स]]