2012-01-15 11 views
23

मुझे गुगलिंग के घंटों के बावजूद, इस पर स्पष्ट उत्तर नहीं मिल रहा है। क्या कोई मुझे बता सकता है कि क्या हो रहा है? मुझे त्रुटियों की तरह बातें मिलती हैं, "संस्करण 140 समर्थित नहीं है।" क्या यह मेरा डिवाइस (किंडल फायर) या जीएल ईएस 2.0 है? क्या मुझे पुस्तकालयों या कुछ भी जोड़ने की ज़रूरत है?ओपनजीएल ईएस 2.0 में जीएलएसएल के कौन से संस्करण मैं उपयोग कर सकता हूं?

उत्तर

10

आपको वास्तव में किसी भी पुस्तकालय को जोड़ने की ज़रूरत नहीं है, 140 किंडल फायर के लिए बहुत नया है। या तो संस्करण विनिर्देश को हटा दें या शेडर संकलन तक इसे घटाएं। आपको शेडर में कुछ अन्य त्रुटियों को ठीक करने की आवश्यकता हो सकती है क्योंकि भाषा के अलग-अलग संस्करणों में कुछ अंतर होते हैं।

आप अपने डिवाइस पर समर्थित जीएलएसएल के संस्करण प्राप्त करने के लिए glGetString() का उपयोग करके पर भी पूछ सकते हैं (कम से कम 100 होने की गारंटी - ईएस 2.0 एक छायांकन भाषा वाला पहला व्यक्ति है)।

इसके अलावा, जैसा कि अन्य लोगों ने उल्लेख किया है, ओपनजीएल ईएस जीएलएसएल ओपनजीएल ईएस के समान भाषा नहीं है (मैंने सोचा था कि यह स्पष्ट था, ओपनजीएल ईएस ओपनजीएल नहीं है) इसलिए संस्करण संख्या मेल नहीं खाएगी। हालांकि GL_ARB_ES2_compatibility और ईएस 3, ईएस 3.1 और ईएस 3.2 के विस्तार हैं, जहां ईएस/गैर-ईएस जीएलएसएल भाषाओं का मैपिंग वर्णित है, और उन लोगों का उपयोग करना गैर-ईएस पर ईएस जैसी कार्यक्षमता प्राप्त करना संभव है संदर्भ।

+3

और मैंने सोचा कि 140 बहुत पुराना था। :( –

+5

वास्तव में प्रश्न का उत्तर नहीं देता है। अगर कुछ ओपनजीएल ईएस 2.0 का समर्थन करता है - जीएलएसएल का कौन सा संस्करण इसका समर्थन करता है? (कम से कम, कम से कम, मेरा मतलब है) – BrainSlugs83

+0

@ ब्रेनस्लग्स 83: अगर कुछ ओपनजीएल ईएस 2.0 का समर्थन करता है जीएलएसएल ईएस 100 का समर्थन करने की गारंटी है। इन संख्याओं की तुलना करते समय बहुत भ्रम होता है, क्योंकि लोग '#version ...' निर्देश देखते हैं और तुरंत सोचते हैं कि सेब (डेस्कटॉप जीएलएसएल) किसी भी तरह संतरे से जुड़ा हुआ है (एम्बेडेड जीएलएसएल) वे कई मामलों में समान हैं, लेकिन कई अन्य में अलग-अलग हैं (और संस्करण संख्या एक ऐसा क्षेत्र है जहां वे भारी रूप से अलग हो जाते हैं)। इस पर एक नज़र डालें: http://www.opengl.org/registry/gles/ - यदि आप नीचे देखते हैं शीर्षक "ओपनजीएल ईएस 2.0 विशिष्ट", जो आपको इसके साथ जुड़े जीएलएसएल ईएस संस्करण को बताता है। –

30

OpenGL ES 2.0 specGLSL ES को संदर्भित करता है, जो कि जीएलएसएल जैसा नहीं है।

कल्पना GLSL ES कल्पना का कहना है:

भाषा के इस संस्करण में डेस्कटॉप GLSL के संस्करण 1.10 पर आधारित है। हालांकि इसमें कई विशेषताएं शामिल हैं जो संस्करण 1.20 में हैं लेकिन 1.10 नहीं हैं।

क्या समर्थित है यह देखने के लिए स्पेस देखें।

+4

स्पष्ट रूप से मैं googling पर भयानक हूँ। ठीक है। –

+0

(क्षमा करें, आपकी टिप्पणी में कोई हंसी नहीं हो सकती है) –

+0

यह जोड़ना उचित है कि ओपनजीएल ईएस 2.0 spec का कहना है कि यह न्यूनतम पर जीएलएसएल ईएस 1.0 का समर्थन करता है। –

14

ओपनजीएल ईएस ओपनजीएल नहीं है, इसी तरह ओपनजीएल ईएस की शेडर भाषा ओपनजीएल की शेडर भाषा नहीं है। वे समान हैं, लेकिन वे समान नहीं हैं। तो कोई डेस्कटॉप जीएलएसएल संस्करण नहीं है जो जीएलएसएल ईएस के संस्करण से मेल खाता है।

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