2011-09-06 5 views
11

मेरे पास एक ऑब्जेक्ट है जो एक संपत्ति Texture_ID का मालिक है। मुझे कन्स्ट्रक्टर में Texture_ID के मान को प्रारंभ करने की आवश्यकता है, इसलिए मैं ओपनजीएल द्वारा अप्रयुक्त कुछ मूल्य चाहता हूं ताकि यह सुनिश्चित किया जा सके कि बनावट अभी तक सेट नहीं है।ओपनजीएल बनावट आईडी की सीमा क्या है?

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

उत्तर

15

0 वह मान है जिसे आप ढूंढ रहे हैं (एक अनसेट बनावट आईडी/अनियमित बनावट का प्रतिनिधित्व करने के लिए), क्योंकि 0 कभी वैध बनावट आईडी नहीं है।

+8

+1 देखें [यहां] (http://www.opengl.org/sdk/docs/man/xhtml/glBindTexture.xml) "मान शून्य प्रत्येक बनावट लक्ष्य के लिए डिफ़ॉल्ट बनावट का प्रतिनिधित्व करने के लिए आरक्षित है।" – user786653

+0

@chris: उपयोगकर्ता 786653 सच कहता है? यदि हां, तो संभवतः मुझे ग्लूंट के अधिकतम मूल्य का उपयोग करना चाहिए? – jondinham

+3

@ पॉल: आपके द्वारा बनाए गए किसी भी बनावट ऑब्जेक्ट में शून्य-शून्य मान होगा। यदि आप इस वर्ग का उपयोग करना चाहते हैं, तो शून्य बिल्कुल ठीक है। –

2

मैं कन्स्ट्रक्टर में बनावट को आरंभ करना चाहता हूं। इस तरह आपके पास एक अमान्य स्थिति में कोई ऑब्जेक्ट नहीं है।

+0

लेकिन मेरी परियोजना में, ऑब्जेक्ट प्रारंभ होता है जब उसके पास अभी तक बनावट नहीं है। परियोजना की बस एक सीमा। उदाहरण के लिए: मुझे रंगों के साथ घन दिखाना है, फिर घन पर खींचने के लिए एक छवि फ़ाइल खोलना है, इसलिए इस मामले में, जब कन्स्ट्रक्टर में, बनावट अभी तक ज्ञात नहीं है – jondinham

+4

कन्स्ट्रक्टर को पहले कहा जा सकता है एक वैध ओपनजीएल संदर्भ, जो कई समस्याओं का कारण बनता है। – datenwolf

+0

@ डेटनवॉल्फ: अगर मेरे पास एक ऑब्जेक्ट है जो ओपनजीएल बनावट ऑब्जेक्ट का प्रतिनिधित्व करता है, तो वह ऑब्जेक्ट ओपनजीएल संदर्भ के बिना व्यर्थ है। –

2

0 मूल्य ओपनजीएल अपने स्वयं के डिफ़ॉल्ट बनावट के लिए उपयोग करता है। यह आपके लिए वह मान कभी नहीं देता है और आप अपनी त्रुटि जांच के लिए उस मान का उपयोग कर सकते हैं।

हालांकि मैं -1 का उपयोग करने का सुझाव दूंगा।

+7

बनावट आईडी GLuint है, जिसका अर्थ है 'हस्ताक्षरित int', मुझे नहीं लगता कि '-1' मान्य है – jondinham

+3

फिर '0xffffffff' का उपयोग करें। यह अभी भी आपको '-1' है! – Shahbaz

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

  • कोई संबंधित समस्या नहीं^_^