मेरे पास कोड की यह पंक्ति है:जावा: ओपनजीएल: जॉगएल: जब मैं डिस्प्ले() विधि को कॉल करता हूं तो दृश्यों के पीछे क्या होता है?
renderableObject.renderObject(gl, glu);
यह ओपनजीएल द्वारा प्रदान की जा रही वस्तुओं की एक बड़ी सूची की ओर जाता है, हालांकि यह केवल तभी काम करता है जब निम्नानुसार उपयोग किया जाता है:
@Override
public void display(GLAutoDrawable drawable)
{
renderableObject.renderObject(gl, glu);
}
अगर मैं बाहर की रेखा को कॉल करता हूं ओवरराइड डिस्प्ले विधि मुझे एक अपवाद मिलता है कि वर्तमान थ्रेड पर कोई ग्लोन्टेक्स्ट नहीं है, असल में अगर मैं इस विधि के बाहर किसी भी ग्ल ड्रॉ कमांड को कॉल करता हूं तो मुझे एक ही अपवाद मिलता है
अब आदर्श रूप से मैं कई बार डिस्प्ले सूचियां बनाना चाहता हूं , फिर उन्हें प्रत्येक फ्रेम को विषम प्रदर्शन सूची के साथ समय-समय पर पुनर्निर्मित करने के लिए प्रस्तुत करें। हालांकि मुझे इस एकल डिस्प्ले() विधि से गुजरना है जिसका मतलब है कि यदि डिस्प्ले सूची बनाई गई है, या परिवर्तन की जरूरत है तो मुझे हर फ्रेम का परीक्षण करना होगा ... एक सेकंड में 60 बार! प्रसंस्करण शक्ति का कचरा जब मैं जरूरत पड़ने पर एक बार अलग से संभाल सकता था।
तो जो भी डिस्प्ले() विधि को बुलाता है, मैं इसे दोहराने में सक्षम होना चाहता हूं, जिससे मैं इसे अपने स्वयं के कस्टम डिस्प्ले विधियों का एक बड़ा हिस्सा बनाने की अनुमति दूंगा, बिना सब कुछ के लिए इस विधि के बिना!
तो क्या एक साधारण ग्ल कॉल है जो मैं खुद बना सकता हूं?
जॉगएल काम का पूरा ढेर कर रहा है। यह एक जीएलकॉन्टेक्स्ट बना रहा है, और वर्तमान धागे के लिए जीएलकैनवास के लिए इसे चालू कर रहा है। ------- क्या मैं यह खुद नहीं कर सकता? – Troyseph
सेबेस्टियन ट्रॉय, आप कर सकते हैं लेकिन यह वास्तव में तुच्छ नहीं है। आप सख्त न्यूनतम संचालन कर सकते हैं (GLAContxt से GLContext प्राप्त करें और इसे चालू करें) लेकिन ध्यान रखें कि जॉग में बहुत अच्छे क्विर्क और वर्कअराउंड हैं जो सी में देशी सादे ओपनजीएल से या जावा में किसी अन्य बाध्यकारी के साथ बहुत सुरक्षित हैं, सी #, पायथन, ... इसके अलावा, यदि आप कुछ बुरा करते हैं तो अपने प्रदर्शन को बर्बाद करना वास्तव में आसान है। जब मैंने Ardor3D को JOGL 2 पर पोर्ट किया, तो मुझे मेक कंटेंट() को बेकार तरीके से बुलाया गया था, इस कॉल को हटाने से मुझे वी-सिंक बंद होने पर एक बड़ा बढ़ावा मिला। – gouessej