पुनर्स्थापित कर रहा है मैं एक सामान्य प्रयोजन उपयोगिता समारोह है कि एक बनावट है कि कुछ ओपन कार्यक्रम जो कुछ भी उद्देश्य के लिए एक तीसरी पार्टी प्रोग्रामर चाहते हैं द्वारा इस्तेमाल किया जा सकता बनाने के लिए एक ओपन फ्रेमबफर वस्तु का उपयोग करेगा लिखना चाहते हैं।ओपन राज्य
तर्क हिस्सेदारी के लिए कहते हैं कि चलो समारोह लगता है कि
void createSpecialTexture(GLuint textureID)
{
MyOpenGLState state;
saveOpenGLState(state);
setStateToDefault();
doMyDrawing();
restoreOpenGLState(state);
}
क्या MyOpenGLState
, saveOpenGLState(state)
, setStateToDefault()
और restoreOpenGLState(state)
सुनिश्चित करना है कि doMyDrawing
सही ढंग से व्यवहार करेंगे और कि कुछ भी नहीं है कि मैं doMyDrawing
में क्या कुछ और को प्रभावित करेगा की तरह दिखना चाहिए कि एक तीसरा पार्टी डेवलपर कर सकता है?
समस्या यह है कि कर दिया गया है मुझे काट ओपन निहित राज्य का एक बहुत है और मुझे यकीन है कि मैं यह सब पर कब्जा व्यक्ति हूं कि है।
अद्यतन: मेरी मुख्य चिंता ओपन ES 2.0 है, लेकिन मैंने सोचा कि मैं सवाल अधिक आम तौर पर
उन पदावनत नहीं कर रहे हैं? – KillianDS
प्रश्न मुख्य रूप से ओपनजीएल ईएस 2.0 से संबंधित है, जो न तो 'glPushAttrib' या' glPopAttrib' का हिस्सा है (देखें http://www.khronos.org/opengles/sdk/docs/man/)। – Caterpillar