शुरुआत शेडर विकास

मैं माइक्रोसॉफ्ट के एक्सएनए का उपयोग करके कुछ गेम डेवलपमेंट करना शुरू करना चाहता हूं। इसका हिस्सा शेडर विकास है, लेकिन मुझे नहीं पता कि कैसे शुरू किया जाए। मुझे पता है कि nVidia का FX संगीतकार शेडर्स विकसित करने के लिए एक शानदार टूल है, लेकिन मुझे नहीं मिला वास्तव में कैसे शुरू किया जाए इस पर बहुत उपयोगी और अद्यतन सामग्री।

आप किस ट्यूटोरियल की सिफारिश करेंगे?

0
ro fr bn

9 उत्तर

चाड कार्टर द्वारा एसएएन के XNA अनलेश XNA के लिए एक महान प्रारंभिक बिंदु है और इसका थोड़ा ज्ञान नहीं है शुरू करने से पहले खेल विकास प्रथाओं या हार्ड गणित। इसमें बुनियादी और उन्नत शेडर्स पर दो अध्याय हैं।

एक एसडेनोट के रूप में, डब्ल्यूपीएफ शेडर ट्यूटोरियल्स के लिए Google पर नजर रखें, अब यह उसी तकनीक का उपयोग करता है जो डब्ल्यूपीएफ अनुप्रयोगों और ट्यूटोरियल्स में ग्राहक शेडर्स को अनुमति देता है क्योंकि मेरा मानना ​​है कि एक्सएनए के साथ काफी हद तक संगत है।

0
जोड़ा

मैं बस दोहराना चाहूंगा कि जीपीयू जेम्स किताबें कितनी महान हैं - किसी भी गंभीर ग्राफिक्स विकास के लिए वास्तव में शानदार संसाधन।

ओजे ने मूल रूप से सीखने की वास्तव में अच्छी प्रक्रिया को समझाया है, मैं बस इतना जोड़ूंगा कि ज्यामितीय गणित (वैक्टर / मैट्रिक्स को न्यूनतम के रूप में) में अच्छी नींव रखने के लिए कम आकलन नहीं किया जा सकता है - लेकिन यह कभी-कभी कठिन नहीं होता है क्योंकि लोग कभी-कभी बाहर निकलते हैं। सीखना कि एक डॉट उत्पाद, क्रॉस उत्पाद, सामान्य वेक्टर और मैट्रिक्स गुणा क्या हैं और करना एक अच्छा पहला कदम है :)। विश्व / दृश्य / प्रोजेक्शन-क्लिप / स्क्रीन स्पेस, परिप्रेक्ष्य विभाजन क्या है, आदि के बीच क्या हो रहा है, यह समझने की कोशिश करें।

When I was beginning learning, a good exercise is to actually implement the entire T&L pipeline in software, complete with clipping/culling etc. This is a long process and may not seem worthwhile as I'm sure you want to just dive into the fun stuff, but having a proper understanding of what's going on is really useful and will prove worthwhile when you invariably run into more insidious and difficult to diagnose bugs.

शुरुआती रूप से एफएक्स संगीतकार जैसे उपकरणों से अलग होने की कोशिश न करें, वे प्रोटोटाइप के लिए उपयोगी हैं, लेकिन मूलभूत आधार में ठोस नींव रखने से लंबे समय तक अधिक सार्थक होता है।

0
जोड़ा

मैंने एक्सएनए या डायरेक्टएक्स का उपयोग नहीं किया है। लेकिन, सीजी के साथ शेडर प्रोग्रामिंग की मूल बातें जानने के लिए, सीजी ट्यूटोरियल है मुझे मिली सबसे अच्छी किताब।

0
जोड़ा

मैं ओजे को दी गई प्रशंसा में शामिल होगा - वास्तव में एक अच्छा जवाब। फिर भी, एक बार जब आप बुनियादी समझ लेते हैं तो आप निम्नलिखित दो महान उपकरणों में से एक डाउनलोड करके बहुत तेज़ और तेज़ी से सीख सकते हैं:

एक बार ऐसा करने के बाद, उनके प्रोजेक्ट लाइब्रेरीज़ पर जाएं और मूल छायांकन से शुरू होने और छाया, सामान्य मैपिंग, सामग्री, प्रभाव और ब्याज की हर चीज पर जाने के लिए उदाहरणों के माध्यम से ब्राउज़ करना प्रारंभ करें। एक प्रोजेक्ट लें, आपके द्वारा सेट किए गए कुछ लक्ष्यों के अनुसार एल्गोरिदम को बदलना शुरू करें और देखें कि इसे कैसे प्राप्त करें। आप पाएंगे कि कई उदाहरण वास्तव में उन्नत हैं और वे आपके क्षितिज खोलेंगे।

मज़े करो

0
जोड़ा

शेडर्स के साथ शुरू करने के सर्वोत्तम तरीकों में से एक है फ्रैंक लुना द्वारा एक शेडर दृष्टिकोण डायरेक्टएक्स 9.0 सी के साथ 3 डी गेम प्रोग्रामिंग का परिचय पढ़ना। लेखक पहले डायरेक्टएक्स और एचएलएसएल पेश करते हैं और फिर धीरे-धीरे शेडर की शक्ति का खुलासा करते हैं। वह बहुत ही सरल शेडर्स से शुरू होता है लेकिन पुस्तक के अंत तक आप जानते हैं कि प्रकाश, छाया, कण प्रणाली आदि कैसे बनाएं, ग्रेट बुक।

ओजे ने सुझाव दिया कि आप शेडरएक्स श्रृंखला पढ़ते हैं, लेकिन शुरुआती चीजों के लिए सामान नहीं है, इसलिए जब आप अपना पहला कदम उठाएंगे तो इससे आपको बहुत मदद नहीं मिलेगी।

मैंने एक लेख भी पोस्ट किया है यहां सर्वश्रेष्ठ पुस्तकों के बारे में जो आपको गेम विकास के साथ शुरू करेंगे।

0
जोड़ा
यह वास्तव में एक दिलचस्प किताब की तरह दिखता है। हाँ, मैंने शेडरएक्स और अनुशंसित जीपीयू रत्न दोनों को देखा, लेकिन वे वास्तव में कट्टर प्रतीत होते हैं। क्रिस्टोग्राफी के बारे में कुछ भी नहीं जानते जब किंडा ब्रूस शनीयर पढ़ना पसंद करते हैं। मुझे लगता है कि मैं लुना की किताब का आदेश दूंगा।
जोड़ा लेखक Michael Stum, स्रोत
मैंने वास्तव में आपके द्वारा उल्लिखित पुस्तक संपादित की है! :)
जोड़ा लेखक Rodrigo Lopez, स्रोत

एक्सएनए में शेडर्स का विकास (जो स्पष्ट रूप से डायरेक्टएक्स का उपयोग करता है) को के ज्ञान की आवश्यकता होती है एचएलएसएल या शेडर असेंबली। मैं बाद में डाइविंग से पहले पूर्व से परिचित होने की सलाह दूंगा।

किसी भी शेडर्स को लिखने से पहले, शेडर पाइपलाइन की ठोस समझ प्राप्त करना एक अच्छा विचार है, और प्रोग्राम करने योग्य शेडर्स का उपयोग करते समय संभव है कि अपने मन को प्राप्त करने का प्रयास करें। जब आप एक पिक्सेल के जीवन से परिचित होते हैं (स्रोत डेटा से स्क्रीन तक सभी तरह से) तो शेडरों के उदाहरण समझना बहुत आसान हो जाता है।

Next make an attempt to write your own HLSL which does what the Fixed T&L pipeline used to do, just to get you hands dirty. This is the equivalent of a "hello world" program in vertex/pixel shader world. When you're able to do that and you understand what you've written you're ready to go onto the more fun stuff.

अगले चरण के रूप में आप अपने शेडरों में से एक में बुनियादी sepcular Lighting अनुकरण करना चाहेंगे एक प्रकाश स्रोत से। फिर आप कई रोशनी का उपयोग करने के लिए इसे ट्रैक के नीचे अनुकूलित कर सकते हैं। रंगों, और रोशनी के आंदोलन के साथ खेलो। यह शेडर स्थिरांक के उपयोग से परिचित होने में भी मदद करेगा।

जब आपके पास दो बुनियादी शेडर्स एक साथ होते हैं, तो आपको इसे बनाने का प्रयास करना चाहिए ताकि आपका गेम / इंजन अलग-अलग ऑब्जेक्ट्स पर एकाधिक / अलग शेडर्स का उपयोग कर सके। बुनियादी टक्कर या सामान्य मानचित्र

जब आप इस चरण में जाते हैं, तो दुनिया आपका प्यारा है। आप कुछ फंकी प्रभावों में डाइविंग शुरू कर सकते हैं, और मूल रूप से इरादे से अधिक के लिए GPU का उपयोग करने पर भी विचार कर सकते हैं।

जो लोग थोड़ा अधिक उन्नत हैं, उनके लिए कुछ अच्छी किताबें हैं जो मुफ्त ऑनलाइन उपलब्ध हैं जिनके पास एनवीडिया यहां और यहां

यह मत भूलना कि शेडरएक्स नामक किताबों की एक उत्कृष्ट श्रृंखला है जिसमें कुछ भयानक शेडर सामग्री शामिल हैं। 1 , 2 , 3 , 4 , 5 और 6 पहले से ही प्रिंट करें, और 7 जल्द ही आ रहा है।

सौभाग्य। अगर आपको कुछ शेडर्स मिलते हैं, तो मुझे उन्हें देखना अच्छा लगेगा :)

0
जोड़ा
विस्तृत जवाब के लिए शुक्रिया। सुनिश्चित करें, जैसे ही मैं कुछ प्राप्त करता हूं और दौड़ता हूं, मैं एक लिंक जोड़ूंगा :) हालांकि कुछ और महीने लग सकते हैं।
जोड़ा लेखक Michael Stum, स्रोत

दृश्य शेडर संपादकों पर एक त्वरित विचार। उन प्रकार के संपादकों के साथ खेलने के लिए एक बहुत ही मजेदार चीज है, लेकिन मैं वास्तव में, वास्तव में पाठ आधारित एचएलएसएल (वहां दोनों आरएम और एफएक्ससी नौकरी करते हैं) के साथ काम करने के साथ चिपकने की सलाह देते हैं। मैं एक गेम देव के रूप में काम करता हूं और कुछ शेडर सिस्टम (उदाहरण के लिए बैटलफील्ड 2 और फ़ैक्ररी 2 में से एक) बनाया है, और ईमानदार होने के लिए, पाया है कि एचएलएसएल आज तक किसी ग्राफिक शेडर नेटवर्क से अधिक मूल्यवान है।

निष्पादन के प्रवाह का पालन करने जैसी चीजें हैं, शेडर को डिबग करना या परीक्षण मामलों को तेज़ करने में सक्षम होना जो आपको एक अंतर्दृष्टि प्रदान करता है जो दृश्य उपकरण के माध्यम से प्राप्त करना बहुत असंभव है।

मैंने दृश्य शेडर बिल्डर्स का खुद का उपयोग किया है, और मुझे उन्हें पसंद है, और एक दिन, जब छायांकन आज के रूप में प्रदर्शन-महत्वपूर्ण नहीं है, तो वे नौकरी के लिए सही उपकरण हो सकते हैं।

.. हालांकि मेरा अनुमान है कि हम उस दिन आने से पहले स्थगित प्रकाश और शायद पूर्ण सॉफ्टवेयर प्रतिपादन देखेंगे;)

0
जोड़ा

आपको रेंडरमोन्की को भी देखना चाहिए। यह एक अच्छा उपकरण है। जहां तक ​​किताबें जाती हैं, Riemer Grootjans से महान XNA 2.0 गेम प्रोग्रामिंग व्यंजनों की जांच करें ... महान पुस्तक।

0
जोड़ा

जबकि बहुत अच्छी सलाह दी जा चुकी है, अगर आपको शामिल कदमों के आस-पास अपना मन प्राप्त करने में कठोर नौकरी मिल रही है, तो मानसिक मिल शेडर्स बनाने का एक दृश्य तरीका प्रदान करता है (कलाकार संस्करण को Fx संगीतकार के साथ मुक्त बंडल किया गया है - यह भी निःशुल्क है!)।

जबकि आप सीधे एचएलएसएल कोड सीखने के लिए लंबी अवधि से बेहतर होंगे, मानसिक मिल आपके लिए इन एफएक्स फाइलें उत्पन्न कर सकती है (ताकि आप परिवर्तनों पर नजर डालें)। नोट, सभी कोड जेनरेटर की तरह, एचएलएसएल को समझने के बाद आप ऐसा करने की संभावना से थोड़ा अधिक वर्बोज़ हैं!

प्रभावों की दृश्य प्रगति, एक विधि से दूसरे तरीके तक, बहुत प्रभावशाली है!

0
जोड़ा