OpenGL is averaging all colors in the texture? -
मैं इस तरह opengl में मेरे बनावट पैरामीटर सेटअप:
glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); GlTexParameteri (GL_TEXTURE_2D, जीएल_TEXTURE_WRAP_T, जीएलयूपीईएटी); GlTexParameteri (GL_TEXTURE_2D, जीएल_TEXTURE_MIN_FILTER, GL_NEAREST); GlTexParameteri (GL_TEXTURE_2D, जीएल_TEXTURE_MAG_FILTER, GL_NEAREST); `// glGenerateMipmap (GL_TEXTURE_2D); glActiveTexture (GL_TEXTURE0);
बनावट के लिए मेरा डेटा यह है:
परीक्षक [0] = जांचकर्ता [1] = जांचकर्ता [2] = 255; चेकर [3] = चेकर [4] = चेकर [5] = 0; चेकर [6] = चेकर [7] = चेकर [8] = 255; चेकर [9] = चेकर [10] = चेकर [11] = 0;
मेरा बनावट जीएल_आरजीबी में है और जीएल_UNSIGNED_BYTE लेता है I मैं बनावट की चौड़ाई और ऊंचाई 2 तक सेट और बनावट को बनाए रखने के लिए मेरे निर्देशांक दो त्रिभुज से बना है जो एक वर्ग बनाते हैं और पूरी स्क्रीन को भरते हैं।
हालांकि मुझे दो के बजाय एक सफ़ेद रंग मिलता है काले और दो सफेद पिक्सेल आरजीबी में ग्रे रंग बेहद 128,127,127 है मैंने पढ़ा है कि मुझे प्रत्येक रंग के लिए जांचने वाला एक पैकेट जोड़ना चाहिए, लेकिन उसने मुझे एक आड़ू रंग दिया।
संपादित करें:
मुझे एक बग मिला लेकिन अब मुझे एक सफेद स्क्रीन।
इसलिए मैंने
glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST) निकाल दिया; GlTexParameteri (GL_TEXTURE_2D, जीएल_TEXTURE_MAG_FILTER, GL_NEAREST); ; ग्लिबिनेटेड (GL_TEXTURE_2D, टेक); GlTexSubImage2D (GL_TEXTURE_2D, 0, 0, 0, 2, 2, जीएल_आरजीबी, जीएल_UNSIGNED_BYTE, डेटा); ग्लबिन्थबफर (GL_ARRAY_BUFFER, जीएफएक्स- & gt; वर्टेक्स बॉफलटेक्चर); ग्लबफ़रडेटा (GL_ARRAY_BUFFER, आकार (शिरोबिंदु), शिरोबिंदु, जीएलएसएडीएटीएसीडीआरएडब्ल्यू); gfx- & gt; clearScreen (); ग्लोड्राअरेज़ (जीएलट्रीगल्स, 0, 6); ग्लबिंडएक्टेक्शन (जीएल_विशेषताईडीडीडी, 0); glfwSwapBuffers (gfx- & gt; GetWindow ());
आप का उल्लेख नहीं करते कि आपका बनावट निर्देशांक कहाँ से आता है। गलत बनावट निर्देशांक का उपयोग करने से परिणामस्वरूप पूरी तरह से सफेद या पूरी तरह से काला हो सकता है, उदाहरण के लिए यदि आप हमेशा एक ही पिक्सेल का नमूना करते हैं यदि आपका बनावट निर्देशांक पिक्सल के बीच बिल्कुल ठीक है, तो आपको GL_NEAREST बिना ग्रे मिल सकता है।
Comments
Post a Comment