2011-07-15 10 views
10

स्पष्टता के लिए, मैं अपने सवाल के साथ शुरू:क्या RenderMonkey के पास GLSL के लिए टेक्स्टकोर्ड स्ट्रीम मैपिंग में एक बग है?

यह संभव (शेडर कोड में) का उपयोग करने कस्टम नाम जो मैं RenderMonkey में TEXCOORD उपयोग के लिए सेट (ओपन) धारा मानचित्रण में विशेषता है 1.82 या क्या मुझे gl_MultiTexCoord0 का उपयोग करना है?

RenderMonkey संस्करण 1.82 का उपयोग करना:

पृष्ठभूमि (प्रश्न सामान्य उपयोग भी, यानी कस्टम नाम या gl_Normal के लिए मान्य हो सकता है)। मैंने सामान्य वर्टेक्स विशेषता "स्थिति" (और शायद "सामान्य") को मैप करने के लिए सफलतापूर्वक स्ट्रीम मैपिंग का उपयोग किया है, लेकिन बनावट निर्देशांक सही ढंग से अग्रेषित नहीं किए जाते हैं। शेडर कोड के लिए, मैं #version 330 और जीएलएसएल में "इन" क्वालीफायर का उपयोग करता हूं, जो ठीक होना चाहिए क्योंकि आरएम शेडर्स को स्वयं संकलित नहीं करता है (ओपनजीएल ड्राइवर करता है)।

मैंने दोनों .obj और .3ds फ़ाइलों (ब्लेंडर से निर्यात) दोनों की कोशिश की है, और वेवफ़्रंट .obj-file की जांच करते समय, सभी बनावट समन्वय जानकारी, साथ ही कशेरुक पदों और मानदंडों की जांच भी होती है।

यदि यह संभव नहीं है, तो स्ट्रीम मैपिंग टूटा हुआ है और धारा मैपिंग संपादक (वर्टेक्स स्थिति स्ट्रीम के लिए, जो काम करता है) के चर के नामकरण में कोई मतलब नहीं है, क्योंकि किसी को अंतर्निहित उपयोग करना है वैसे भी चर।

अद्यतन: हैं का उपयोग कर पदावनत बिल्ट-इन वैरिएबल, एक शेडर जैसे

#version 330 compatibility 
out vec2 vTexCoord; 

में संगतता मोड का उपयोग करने के मुख्य समारोह में है और,:

vTexCoord = vec2(gl_MultiTexCoord0); 

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

यहां एक कामकाजी समाधान की एक तस्वीर है, लेकिन अंतर्निर्मित चर के साथ (और हां, तस्वीर में टिप्पणी की गई टेक्सकोर्ड परिवर्तनीय के पास स्ट्रीम मैपिंग संवाद में समान नाम नहीं है, लेकिन जब मैंने कोशिश की तो यह वही नाम था इसका इस्तेमाल, तो यह ठीक है): Stream mapping bypassed with built in variables

+1

मैं एक की जरूरत नहीं है के लिए एक काम समाधान है अपने प्रश्न के लिए आगे बढ़ें, लेकिन मैं एक बहु-मंच विकल्प का सुझाव दे सकता हूं, शेडरमेकर: http://cg.in.tu-clausthal.de/teaching/shader_maker/index.shtml – appas

+0

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

+0

बंदर को 3.30 शेडर्स का समर्थन कर सकते हैं? मैंने सोचा कि यह ओपनजीएल 2.1 सुविधाओं के लिए है ... –

उत्तर

0

आप सामान्य कोने की विशेषताओं का उपयोग करने के लिए, http://open.gl देखने की कोशिश कर सकते हैं, यह एक महान ट्यूटोरियल है;) (लेकिन मुझे लगता है कि इसका अर्थ यह है कि आप के मैनुअल के लिए कोड के पुनर्लेखन के लिए होगा। परिवर्तनों को संभाल ...)

0
#version 330 

layout(location = 0) in vec3 bla_bla_bla_Vertex; 
layout(location = 2) in vec3 bla_bla_bla_Normal; 
layout(location = 8) in vec3 bla_bla_bla_TexCoord0; 

इस आरएम 1.82

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