2011-09-23 22 views
5

पर एक बनावट प्रोजेक्ट करने के लिए पिक्सेल शेडर को एक आर्बिटरी उपयोगकर्ता परिभाषित चतुर्भुज को बनावट प्रोजेक्ट करने के लिए बस पिक्सेल शेडर का उपयोग करके एक तरीका जानने की आवश्यकता है।पिक्सेल शेडर एक आर्बेटरी चतुर्भुज

एक चतुर्भुज के चार पक्षों की

स्वीकार किया जाएगा निर्देशांक:

/// <defaultValue>0,0</defaultValue> 
float2 TopLeft : register(c0); 

/// <defaultValue>1,0</defaultValue> 
float2 TopRight : register(c1); 

/// <defaultValue>0,1</defaultValue> 
float2 BottomLeft : register(c2); 

/// <defaultValue>1,1</defaultValue> 
float2 BottomRight : register(c3); 

प्रक्षेप एल्गोरिथ्म के कोशिश की जोड़ी है, लेकिन यह सही पाने के लिए प्रबंधन नहीं कर सके।

क्या कोई नमूना है जो आप सोचते हैं कि मैं वांछित परिणाम प्राप्त करने के लिए संशोधित करने में सक्षम हूं?

उत्तर

1

आपके विकल्पों का वर्णन करने वाले nice paper here है (या यह .ppt)। असल में आपको क्वाड में कुछ बैरेंट्रिक निर्देशांक परिभाषित करने की आवश्यकता होती है, फिर दिए गए वर्टेक्स मानों के बीसी-भारित रकम के रूप में खंड मानों को विभाजित करें।

क्षमा करें, किसी भी कोड के बारे में पता नहीं है, आधुनिक त्रिकोण-उन्मुख एचडब्ल्यू पर quads के लिए प्रत्यक्ष समर्थन की कमी (voidstar69 के जवाब देखें) का मतलब है कि वे फैशन से बाहर चले गए हैं।

1

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

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

नीचे की रेखा यह है कि पिक्सेल शेडर को क्वाड के बनावट निर्देशांक पास करना गलत दृष्टिकोण है (जब तक आपके पास कुछ विशेष कारण क्यों न हो)।

+0

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

+1

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

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