2009-07-10 15 views

उत्तर

30

manual page for glGenTextures कहता है glIsTexture; उत्तरार्द्ध (उस के अनुसार) 0 के बनावट नाम के लिए हमेशा GL_FALSE लौटाएगा। तो, 0 वैध बनावट नाम नहीं हो सकता है।

+6

अंतिम वाक्य गलत है, आप कभी भी _generate_ name ** 0 ** नहीं करेंगे, लेकिन यह ओपनजीएल में एक बहुत ही वास्तविक नाम है। यह उस बनावट में एक अनूठी संपत्ति है ** 0 ** हर प्रकार के बनावट लक्ष्य एक ही समय में है! इसे एक और तरीके से रखने के लिए, 'GL_TEXTURE_2D' के लिए नाम ** 0 ** के साथ एक बनावट है,' GL_TEXTURE_3D' के लिए नाम ** 0 ** के साथ एक और बनावट है। ** 0 ** जहां आप इसे बाध्य करते हैं, उसके आधार पर एक अलग बनावट का संदर्भ देता है और उसके पास वैध राज्य सेटअप नहीं हो सकता है, लेकिन हमेशा वैध नाम होता है - केवल एक ऐसा नहीं जिसे कभी भी 'glGenTextures (...) ' –

0

बिलकुल नहीं। पेज 157 पर :

11

OpenGL Spec 3.1 से

एक बनावट वस्तु हटा दी जाती है, तो यह रूप में अगर सब बनावट इकाइयों जो कि बनावट वस्तु के लिए बाध्य कर रहे हैं बनावट वस्तु शून्य करने के लिए पलटाव कर रहे हैं।

मुझे ऐसा लगता है कि शून्य नामित बनावट एक विशेष एक

2

सही त्रुटि ओपन में जाँच करने के लिए जिस तरह से किया जाता है आम तौर पर glGetError कॉल करने के लिए। फिर आप GlGenTextures के विवरण में सूचीबद्ध दोनों त्रुटि स्थितियों की जांच कर सकते हैं। जैसा कि भी उल्लेख किया गया है, आप यह देखते हुए ग्लिस्टेक्चर को कॉल कर सकते हैं कि कोई दिया गया बनावट वैध है या नहीं।

+0

पर कॉल करके उत्पन्न किया जाएगा मुझे पता है, लेकिन मैं एक एम्बेडेड डिवाइस पर डिबगिंग कोड फंस गया हूं जहां रोम बनाने और जला देने में लगभग एक घंटा लगते हैं, इसलिए मैं वास्तव में कोड को बदलने और चलाने के बिना कुछ भी समझ सकता हूं। :) –

+0

आप glGetError की बजाय GL_KHR_Debug में नई सामग्री को बेहतर ढंग से देख सकते हैं। यदि आपके पास इसके लिए समर्थन है। [यहां ट्यूटोरियल] (http://www.seas.upenn.edu/~pcozzi/OpenGLInsights/OpenGLInsights-ARB_debug_output.pdf) –

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