.NET

2013-02-20 91 views
15

के लिए 3 डी ग्राफिक्स लाइब्रेरी मैं विंडोज 7/डेस्कटॉप के लिए सरल 3 डी एप्लिकेशन बनाना सीखना चाहता हूं। इसके द्वारा, मेरा मतलब है कि गोलाकार, त्रिकोण या पिक्सल 3 डी स्पेस में घूमते हैं। इसे अभी तक बहुत जटिल नहीं होना चाहिए। इसके लिए, मैं .NET के साथ सी # भाषा का उपयोग करना चाहता हूं (जावा/सी ++ मेरी दूसरी प्राथमिकता है)।.NET

मुझे पता है कि इंटरनेट के आसपास कई बार पूछा गया है, लेकिन मुझे लगता है कि कई प्रश्न पुराने हैं, कई एपीआई बहिष्कृत हैं और ट्यूटोरियल बहुत पुराने हैं।

मैं एक्सएनए सीखने के बारे में सोच रहा था, लेकिन फिर मैंने सीखा कि Microsoft does not plan to develop and support it anymore. शार्पडीएक्स भी जाने का एक अच्छा तरीका प्रतीत होता है, लेकिन ऐसा लगता है कि यह विंडोज स्टोर और फोन ऐप्स के लिए है।

इंटरनेट पर देखते समय, प्रबंधित DirectX मैं (सिंटेक्स, जटिलता) के लिए वास्तव में क्या देख रहा था, लेकिन फिर से, कि जिस तरह से भी पदावनत मुझे इस्तेमाल करने के लिए है लग रहा था।

क्या आप कृपया मुझे मार्गदर्शन कर सकते हैं कि मुझे सरल लेकिन ठोस 3 डी एप्लिकेशन बनाने के लिए क्या सीखना चाहिए?

+2

देखो (http://www.opentk.com/) और [renderstack]

यहाँ एक उदाहरण है (http://neure.ath.cx/renderstack_new) यह डायरेक्टएक्स नहीं है, लेकिन ओपनजीएल है। – ja72

+0

# Ja75 टिप्पणी के लिए धन्यवाद। मैंने ओपनटीके को देखा है, लेकिन यह मुझे थोड़ा चिंतित करता है। ऐसा लगता है कि 2010 के बाद से कोई अपडेट नहीं है और वीएस के नए संस्करण के साथ कुछ संगतता समस्याएं हैं। – Janman

+1

2010 रिलीज थोड़ा पुराना है, लेकिन एसवीएन ट्रंक स्थिर है। मैं इसे बिना किसी समस्या के थोड़ी देर के लिए उपयोग कर रहा हूं। यदि आप कुछ और अधिक अत्याधुनिक बनाना चाहते हैं, तो [गिटहब पर ओपनटीके का एक कांटा] है (https://github.com/andykorth/opentk) कि हम में से कुछ लोग योगदान दे रहे हैं क्योंकि ओपनटीके के मूल रखरखाव व्यस्त हैं अतीत के लिए जीवन के साथ। –

उत्तर

8

SlimDX पर एक नजर डालें। यह डायरेक्टएक्स (डायरेक्टएक्स 11) के लिए एक ओपन-सोर्स, फ्री, प्रबंधित लाइब्रेरी है। प्रत्येक रिलीज डायरेक्टएक्स रिलीज के साथ मेल खाता है, इसलिए अधिकांश समय यह बहुत ही अद्यतित है। मैंने इसका इस्तेमाल किया है और इसे शुरू करना काफी आसान था। Here (scroll down) आपके द्वारा उल्लिखित अन्य संभावनाओं की तुलना में तुलना है।

+0

हैलो! यह मुझे लगता है कि यह बहुत ज्यादा लगता है। अगर इसमें मदद मिलेगी तो मैं इसे खोद दूंगा और कुछ दिनों में रिपोर्ट करूंगा! बहुत बहुत धन्यवाद! – Janman

5

सबसे आसान संभवतः WPF 3 डी का उपयोग करना है। यह एक बनाए रखा मोड ग्राफिक्स सिस्टम है, इसलिए यदि आपके पास बड़ी जरूरत नहीं है (यानी: प्रभाव के लिए विशेष शेडर्स इत्यादि), तो सेटअप करना और सीधे उपयोग करना बहुत आसान है।

अन्यथा, एक्सएनए जैसे अधिक विस्तृत 3 डी सिस्टम, अधिक उपयुक्त हो सकते हैं। यह सेटअप करने के लिए और अधिक काम करेगा, लेकिन आपको अधिक नियंत्रण प्रदान करेगा।

  1. Tutorial 1: Displaying a 3D Model on the Screen
  2. WPF
  3. XNA
4

ओपनजीएल दुनिया में मैं OpenTK का उपयोग कर रहा हूं। छायांकन और यथार्थवादी प्रभावों के बिना फ्लैट ज्यामितीय वस्तुओं को प्रदर्शित करने के लिए मुझे C# के साथ मौजूदा कोड के शीर्ष पर निर्माण करना पड़ा।

render

कोड से उत्पन्न: [OpenTK] पर

void InitModels() 
{ 
    Scene.CoordinateSystem cs1 = new Scene.CoordinateSystem(world.Ground) 
    { 
     DrawSize = 1, 
     Visible = false 
    }; 
    Scene.CoordinateSystem cs2 = new Scene.CoordinateSystem(world.Ground, 0.6 * vec3.J) 
    { 
     DrawSize = 0.5, 
     Orientation = rot3.RotateXDegrees(-15) 
    }; 
    Scene.Cube cube = new Scene.Cube(cs1) 
    { 
     CubeSize = 0.5 
    }; 
    cs2.AddPoint(new point3(vec3.O,1), Color.Firebrick, 15); 
    var line = cs2.AddLine(new line3(-vec3.I, vec3.I), 20, Color.SlateGray, 2); 
    line.SetPattern(0xFF0F, GeometryTest.Scene.Stripple.Scale2); 

    cube.BindTexture(5, GeometryTest.Properties.Resources.julia, true); 
    cube.AddText(3, "OpenTK 1.0", Color.DarkMagenta, 0.5f, 0.5f, 1.0f); 

} 
+1

देखें [छुट्टी की सूचना] (https://github.com/opentk/opentk/commit/2e51fe019771f4c70b15bb25b3a560f712a45fbf): ऐसा प्रतीत होता है कि प्रोजेक्ट स्वामी आसपास नहीं है, इसलिए परियोजना को अब अपडेट नहीं किया जाएगा। – kiamlaluno

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^