एचएलएसएल सीखने के लिए कुछ अच्छे संसाधन क्या हैं? [बन्द है]


28

पिछली बार जब मैंने एचएलएसएल सीखने की कोशिश की, तो मैंने कुछ शेड्स बनाए और ज्यादातर समझा कि मैं क्या कर रहा था, लेकिन मुझे अभी भी ऐसा लग रहा था कि मैं अंधेरे में ठोकर खा रहा हूं। मैंने जो कुछ भी सीखा, उनमें से अधिकांश मुझे विभिन्न ब्लॉग पोस्टों से मिला, जो चीजों को बहुत अच्छी तरह से नहीं समझाते थे।

इसके अलावा, MSDN पर प्रलेखन एक फ़ंक्शन संदर्भ से अधिक प्रतीत होता है।

मैं न केवल एचएलएसएल लिखना सीख सकता हूं, बल्कि शेडर्स लिखने की तकनीक भी सीख सकता हूं।

जवाबों:


14

उन दोनों ने नोट किया, मैं लगभग हर बार जब मैं एक सामान्य शेखर लिखता हूं, तो मैं निम्नलिखित लेख पर वापस आता हूं:


1
और मुझे यह निर्दिष्ट करना चाहिए कि "एपीआई संदर्भ" से मेरा मतलब है "प्रोग्रामिंग गाइड" अनुभाग।
शॉन जेम्स

6

यदि आप के बाद "shader तकनीक" है, केवल भाषा के संदर्भ के बजाय (प्रश्न, लोगों को पढ़ें), मैं सुझाव देता हूं (आसान से उन्नत तक):

  • Shader अनुभाग XNA नमूने (स्पष्ट रूप से की आवश्यकता है आप XNA का उपयोग करें) की
  • पेट्री विल्हेमसेन द्वारा ट्यूटोरियल श्रृंखला, यहां से शुरू (बाद में और अधिक उन्नत हो जाती है; यह भी एक्सएनए आधारित है)
  • Nvidia FX संगीतकार 'बंडल नमूने s

और मूल रूप से या तो: चीजों को आज़माएं और अभ्यास करें, सभी को अवशोषित करते हुए कि "पेशेवरों" चीजों को कैसे करते हैं। या उन चीजों को चुनें और चुनें जो आप वहां से हासिल करने और काम करने की कोशिश कर रहे हैं।


3

Cg तकनीकी रूप से HLSL नहीं है, लेकिन वाक्यात्मक रूप से वे लगभग समान हैं।

यह कहते हुए कि, यह एक पुरानी किताब है, लेकिन NVIDIA ने " द Cg ट्यूटोरियल " को ऑनलाइन पढ़ने के लिए स्वतंत्र कर दिया है। यह बहुत ही व्यापक तरीके से प्रोग्राम योग्य पाइपलाइन की मूल बातें शामिल करता है, और इसे सभी को न्यूनतम प्रयास के साथ एचएलएसएल में अनुवाद करना चाहिए।


1
nVidia और Microsoft ने दिन में Cg / HLSL का सह-लेखन किया। उन्होंने ब्रांडिंग के कारण इसे अलग नाम दिया, लेकिन भाषा एक ही है। अब, शायद थोड़ा अंतर है, लेकिन यह वास्तव में न्यूनतम है।
जेकमू

वह एक अभूतपूर्व किताब है। मूल रूप से किलगार्ड द्वारा कुछ भी ट्यूटोरियल के संदर्भ में वास्तव में अच्छा था।
बोबोबो

3

यदि आप परिणामों को संपादित करना और देखना चाहते हैं, तो आप इस सरल सिल्वरलाइट टूल का उपयोग कर सकते हैं

http://shazzam-tool.com/
Shazamm 1.3 - एचएसएलएस शेडर्स के संपादक और प्रीविवर


Riemers.net के लिए ट्यूटोरियल +1 के रूप में, लेकिन मुझे XNA / HLSL ट्यूटोरियल की यह श्रृंखला और भी बेहतर लगी।

यहां सूची दी गई है, आप उन सभी को यहां पाएंगे: http://digitalerr0r.wordpress.com/tutorials/

  • 1 - एचएसएलएस का परिचय, परिवेश प्रकाश
  • 2 - प्रकाश को डिफ्यूज़ करें
  • 3 - विशेष प्रकाश
  • 4 - सामान्य मैपिंग
  • 5 - विकृत शीर्ष छाया
  • 6 - छायादार डेमो: सरल महासागर / द्वीप दृश्य
  • 7 - तून छायांकन
  • 8 - ग्लोस मैप
  • 9 - विगले पद प्रक्रिया
  • 10 - पोस्ट प्रक्रिया को पलटना
  • 11 - ग्रेस्केल शेडर
  • 12 - पिक्सेल विकृति shader
  • 13 - अल्फा मैपिंग
  • 14 - संप्रेषण / गहराई बफ़र्स
  • 15 - गतिशील पर्यावरण मानचित्रण
  • 16 - अपवर्तन
  • 17 - बिंदु प्रकाश + आत्म-छायांकन
  • 18 - मल्टीपल प्वाइंट लाइट्स
  • 19 - गोलार्ध परिवेश प्रकाश
  • 20 - क्षेत्र की गहराई
  • 21 - संक्रमण: फीका
  • 22 - संक्रमण: क्रॉस
  • 23 - कलंक
  • 24 - ब्लूम
  • 25 - GPU पर पेरलिन शोर
  • 26 - बम्प मैपिंग पेर्लिन शोर

2

कुछ बातें दिमाग में आती हैं

  1. DirectX 9.0 के साथ 3 डी गेम प्रोग्रामिंग का परिचय (कमाल)
  2. NVIDIA FX संगीतकार (उदाहरण के लिए अच्छा)
  3. ATI की वेबसाइट पर एक Shader X2 परिचय पत्र था, लेकिन इसे हटा दिया गया है ... आह! यहाँ मिल गया!

1

मैंने पाया कि Riemers.net ने अपने XNA ट्यूटोरियल के हिस्से के रूप में HLSL पर एक बहुत अच्छा परिचयात्मक ट्यूटोरियल है। लेखक, रीमेर ग्रोटजंस ने भी सिफारिशी पुस्तक XNA 3.0 गेम प्रोग्रामिंग रेसिपीज लिखी - यदि आपको रेसिपी दृष्टिकोण पसंद है।




0

मुझे ट्यूटोरियल की एक श्रृंखला मिली जो एक बुनियादी परिवेश प्रकाश shader से प्रतिबिंब और तून shaders के लिए सभी तरह से जाती है। प्रत्येक के माध्यम से जाता है और हर पंक्ति की व्याख्या करता है और यहां तक ​​कि गणित के कुछ को थोड़ा समझाता है:

http://rbwhitaker.wikidot.com/hlsl-tutorials


0

निश्चित नहीं है कि आप किस shader मॉडल और DirectX संस्करण को लक्षित कर रहे हैं, लेकिन मैं Direct3D11 के साथ व्यावहारिक प्रतिपादन और संगणना की अत्यधिक अनुशंसा करता हूं । यह पुस्तक DirectX11 के सभी नटखट विवरणों के माध्यम से आपको बताती है, यह संसाधन हैं, सभी अलग-अलग पाइपलाइन शेड, HLSL (इसको समर्पित एक पूरा अध्याय), और कैसे कण प्रणाली सिमुलेशन, tessellation, छवि प्रसंस्करण, आस्थगित प्रतिपादन जैसी चीजों को लागू करना शुरू करें , और DirectCompute!


0

मैं इस लिंक को उदाहरणों के लिए सुझाता हूं: http://www.codesampler.com/dx9src/dx9src_8.htm#dx9_hlsl_fx_simple

यह सोचकर कि उनका कोड काम क्यों नहीं करेगा, या यदि आप इस उलझन में हैं कि किस तरह से अपनी पाइपलाइन में शामिल किया जाए, तो जाने के लिए यह एक अच्छी जगह है।


-1

मेरे लिए पहले GLSL सीखना आसान है, और चूंकि HLSL और GLSL समान है। एक बार जब आप पूरी अवधारणा को समझ लेते हैं, तो पाइपलाइन, हार्डवेयर और आंतरिक shader भाषा कैसे काम करती है, यह आपके लिए HLSL या Cg जैसी किसी अन्य भाषा का उपयोग करना आसान होता है।

मैं GLSL का प्रस्ताव करता हूं क्योंकि इसके पास एक बहुत अच्छी किताब है जैसे कि नारंगी और लाल रंग की ओपन बुक और शुरुआती के लिए सीखना आसान है।


1
इस सवाल का जवाब नहीं है।
PhillC

हालांकि यह एक खराब प्रतिक्रिया नहीं है - जीएलएसएल बहुत कुछ एचएलएसएल से मिलता-जुलता है और अगर ओपी जीएलएसएल के लिए संसाधन खोज सकता है तो उनका उपयोग करना वैध है। Shader कोड के बीच कई प्रमुख अंतर अपने आप में एक बार मानसिक रूपांतरण की बात है क्योंकि आप जानते हैं कि आप क्या देख रहे हैं। GLSL सीखने का विचार सबसे पहले विफल हो जाता है क्योंकि किसी को भी OpenGL सीखना होगा (अपने आप में बुरा नहीं है; दोनों को जानने के लिए उपयोगी है) और किसी के कार्यक्रम (खराब) को फिर से लिखना, लेकिन GLSL सामग्री का उपयोग करने के लिए किसी की HLSL सीखने के पूरक के साथ कुछ भी गलत नहीं है (और इसके विपरीत, जहां प्रासंगिक)।
मैक्सिमस मिनिमस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.