जीएलएसएल संस्करण निर्दिष्ट करते हुए एलडब्ल्यूजेजीएल का उपयोग करते समय एक वाक्यविन्यास त्रुटि देता है। मैंने एलडब्ल्यूजेजीएल के बाहर इस मुद्दे को पुन: पेश करने की कोशिश नहीं की है। यह शेर चलाने वाले कई मैक पर हो रहा है।जीएलएसएल #version वाक्यविन्यास त्रुटि (मैक पर एलडब्ल्यूजेजीएल)
मुझे #version
का उपयोग किये बिना काम करने के लिए वर्टेक्स और खंड दोनों शेडर्स मिल गए हैं। लेकिन मैं texture
फ़ंक्शन का उपयोग करने जा रहा हूं, जो #version
निर्देश की आवश्यकता है।
यहाँ सबसे सरल में नाकाम रहने के उदाहरण है:
#version 120
void main() {
gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);
}
इस टुकड़ा शेडर संकलन और glGetShaderInfoLog
बुला इस त्रुटि देता है:
ERROR: 0:1: '' : syntax error #version
कुछ और के साथ 120
की जगह, इस तरह के 110
के रूप में, यह भी एक त्रुटि देता है। उत्सुकता से, हालांकि, अगर मैं 130 या उच्चतर का उपयोग करता हूं, तो यह वही त्रुटि देता है जो वर्जन समर्थित संस्करण के बारे में शिकायत देता है। (मुझे पता है कि मेरे सिस्टम में जीएलएसएल 1.3 नहीं है, लेकिन यह अभी भी अजीब है कि यह त्रुटि तब प्रदर्शित होती है जब संकलक इस तरह अभिनय कर रहा है, यह संस्करण टैग को समझ में नहीं आता है।)
मैं एक अति राडेन के साथ मैक पर हूं एचडी 4670. GL_VERSION
2.1 ATI-7.12.9
और GL_SHADING_LANGUAGE_VERSION
1.20
है।
यह देखते हुए कि, मुझे कोई कारण नहीं दिख रहा है कि जीएलएसएल 1.20 अनुपलब्ध क्यों होना चाहिए। और यह वास्तव में मेरे लिए अजीब है कि यह कह रहा है कि #version
एक वाक्यविन्यास त्रुटि है, क्योंकि असमर्थित जीएलएसएल संस्करण के बारे में कुछ कहने का विरोध किया गया है।
आपका शेडर लोडिंग कोड कहां है? –
मैं इसे एक बार में पेस्ट कर सकता हूं। (अभी मेरे फोन का उपयोग कर रहे हैं।) क्या थैब स्रोत कोड उपयोगी होगा? – rlkw1024