2011-12-27 23 views
8

मैं जीएलएसएल में जा रहा हूं और बनावट लुकअप के साथ कुछ मदद की ज़रूरत है। मैं भंडारण के लिए एक बनावट का उपयोग करने की कोशिश कर रहा हूं लेकिन मुझे "उचित" बनावट लुकअप नहीं मिल रहा है। मैं सामान्य बनावट 2 डी विधि (जीएलएसएल 1.2 का उपयोग करके) का उपयोग करना पसंद करूंगा लेकिन परिणाम पर्याप्त नहीं हैं।texelFetch के लिए वैकल्पिक?

का उपयोग texture2D: one

texelFetch का उपयोग करना: two

अब स्पष्ट रूप से कुछ पहले एक साथ कुछ गड़बड़ है।

vec4 texelFetch(sampler2D tex, ivec2 size, ivec2 coord) 
{ 
    return texture2D(tex, vec2(float(coord.x)/float(size.x), 
           float(coord.y)/float(size.y))); 
} 

तो, यह कैसे ठीक से किया किया जाएगा: यहाँ मुझे क्या करना (हाँ आकार सही हैं जब तक कि वहाँ कुछ मैं के बारे में पता नहीं है) कोशिश कर रहा हूँ है?

+1

आपके द्वारा उपयोग किए जा रहे बनावट फ़िल्टरिंग पैरामीटर क्या हैं? क्या आपके बनावट में मिपमैप्स हैं? –

+0

यह निकटतम था और इसमें कोई मिपमैप नहीं था। हालांकि मुझे समस्या का पता चला। मैं रेंज के बजाय बनावट आकार का उपयोग कर रहा था, इसलिए यह थोड़ी कम हो रही थी। गरीब नामकरण –

उत्तर

6

यह पूछे जाने वाले प्रश्न के कुछ प्रकार बन गया है:

मैं इसे यहाँ जवाब

https://stackoverflow.com/a/5879551/524368

और यहाँ

https://stackoverflow.com/a/7272871/524368

और कुछ अन्य स्थानों में भी है।

+1

धन्यवाद। मैंने पिछले कुछ दिनों में यह पता लगाने की कोशिश की कि क्या गलत था, लेकिन मैं कभी भी आपके उत्तरों या उनके जैसे किसी अन्य पर नहीं आया। मुझे लगता है कि मेरे कीवर्ड बहुत अच्छे नहीं थे। –

+12

गुगलिंग के लिए लोगों को दंडित करना सहायक नहीं है; जो लोग ** ** ** खोज करने के लिए समय लेते हैं, वे पागल हो रहे लोगों के सभी लिंक में भाग लेते हैं कि किसी ने खोज नहीं की है, जो पूल को बेकार बनाने के लिए वास्तव में नए लोगों से पूछने से पहले समाधान देखने की कोशिश कर रहा है प्रशन। – Skrylar

+26

विडंबना यह है कि यह उत्तर मेरे खोज परिणामों में पहला स्टैक ओवरफ्लो लिंक था। –

3

मैं कहूंगा, textureRect का उपयोग करें। फिर आप texture2D का उपयोग कर सकते हैं, और वास्तविक coodinates को उन पिक्सेल में आपूर्ति कर सकते हैं जिन्हें आप एक्सेस करना चाहते हैं।