क्या कोई शेडर के लिए स्रोत कोड के भीतर बताने का कोई तरीका है कि शेडर को OpenGL ES के लिए संकलित किया जा रहा है? मैं #version
प्रीप्रोसेसर निर्देश का उपयोग ओपनजीएल ईएस के लिए 100 होने के लिए संस्करण को परिभाषित करने में सक्षम होना चाहता हूं (ताकि शेडर ओपनजीएल ईएस 2.0 के लिए संकलित हो), लेकिन ओपनजीएल 2.1 के लिए संस्करण 110 है)।क्या यह बताना संभव है कि ओपनजीएल संस्करण शेडर कोड के भीतर ओपनजीएल ईएस है या नहीं?
#version को एक अलग स्ट्रिंग के रूप में रखने के लिए ऐसा करने का सबसे अच्छा तरीका है जो आवेदन स्तर पर खिलाया जाता है, या क्या शेडर के भीतर ऐसा करने का कोई तरीका है?
एक और उपयोगी, संबंधित चीज करने में सक्षम होने के लिए कुछ ऐसा कहना होगा #if version == 100
इस कोड को संकलित करें, else
इस कोड को संकलित करें। क्या यह जीएलएसएल के भीतर संभव है?
धन्यवाद।
क्या आप इसे अपने सी प्रोग्राम में नहीं ढूंढ पाएंगे, जहां आप शेडर लोड करते हैं और '#version 100' प्रीपेन्ड करते हैं यदि यह ओपनजीएल ईएस है और अन्यथा' #version 110 'है। मेरा मतलब है कि आपको किसी भी स्ट्रिंग के रूप में शेडर को ओपनजीएल पास करना होगा, तो सी – PeterT
में वर्जन प्रोसेसिंग क्यों नहीं करें हाँ मैं सोच रहा था कि मुझे क्या करना है! –