2008-09-16 11 views
5

के साथ दुनिया में रोशनी कैसे तय कर सकता हूं, मैं कई वर्षों से ओपनजीएल का उपयोग कर रहा हूं, लेकिन पहली बार डी 3 डी का उपयोग करने की कोशिश करने के बाद, मैंने यह समझने की कोशिश की कि मुझे अपना तरीका कैसे बनाया जाए दृश्य रोशनी मेरी वस्तुओं पर तय करने के बजाय दुनिया में तय रहती है।मैं डायरेक्ट 3 डी

ओपनजीएल लाइट पोजीशन में मॉडेलव्यू मैट्रिक्स के साथ सबकुछ की तरह बदल जाता है, इसलिए अंतरिक्ष में रोशनी तय करने के लिए, आप अपने मॉडेलव्यू को जिस तरह से रोशनी के लिए चाहते हैं, सेट करें और glLightPosition को कॉल करें और फिर इसे अपनी ज्यामिति के लिए सेट करें और ज्यामिति कॉल करें। डी 3 डी में जो मदद नहीं करता है।

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

उत्तर

1

अंततः मुझे जो जवाब मिला वह यह था कि ओपनजीएल में केवल एक ही 0 मिलीमैट्रिक्स है, डी 3 डी में "दुनिया" और "व्यू" ट्रांसफॉर्म अलग रखा जाता है, और रोशनी रखने का मुख्य कारण लगता है इसके लिए। तो जवाब है कि आप अपनी रोशनी पर लागू होने वाली मैट्रिक्स सेट करने के लिए D3DTS_VIEW का उपयोग करें, और D3DTS_WORLD दुनिया में अपनी ज्यामिति के प्लेसमेंट पर लागू मैट्रिक्स सेट अप करने के लिए।

तो वास्तव में डी 3 डी सिस्टम थोडा ओपनजीएल तरीके से अधिक समझ में आता है। यह आपको अपनी रोशनी की स्थिति निर्दिष्ट करने की इजाजत देता है जब भी आप और जहां भी बिल्ली आपको एक बार और सभी के लिए ऐसा लगता है, उन्हें लगातार स्थानांतरित किए बिना ताकि वे आपके वर्तमान "दृश्य" परिवर्तन से परिवर्तित हो जाएं। ओपनजीएल को इस तरह से काम करना पड़ता है क्योंकि यह नहीं जानता कि आपको लगता है कि आपका "व्यू" आपके "मॉडल" बनाम है। यह सिर्फ जीएल के लिए एक मॉडलव्यू है।

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

0

फिक्स्ड फ़ंक्शन पाइपलाइन के लिए, रोशनी की स्थिति और दिशा विश्व अंतरिक्ष में सेट की जाती है। प्रकाश संरचनाओं के लिए दस्तावेज़ आपको बताते हैं, लेकिन मुझे आश्चर्य नहीं है कि आपने इसे दस्तावेज़ों में याद किया था। फोकस प्रोग्राम करने योग्य शेडर्स के रूप में अब फिक्स्ड फ़ंक्शन पाइपलाइन पर अधिक जानकारी नहीं है।