मैं सी बिल्डर में एक फॉर्म के भीतर एक ओपनजीएल फ्रेम प्रस्तुत करना चाहता हूं, लेकिन मैं ऐसा नहीं कर पा रहा हूं। प्रदान किए गए ओपनजीएल स्टार्टअप कोड का पालन करते समय समस्याओं का सामना करना पड़ रहा है। मैं इसे कैसे हल कर सकता हूं?
TForm::Handle को विंडो हैंडल के रूप में उपयोग करना
इसका समाधान TForm::Handle को विंडो हैंडल के रूप में उपयोग करने में निहित है विंडो हैंडल।
नमूना कार्यान्वयन
यहां सी बिल्डर के पुराने संस्करण से अनुकूलित एक उदाहरण दिया गया है:
int TForm1::ogl_init()
{
if (ogl_inicialized)
return 1;
hdc = GetDC(Form1->Handle); // Get device context
PIXELFORMATDESCRIPTOR pfd;
// Set pixel format for the DC
...
// Create current rendering context
hrc = wglCreateContext(hdc);
if (hrc == NULL)
{
ShowMessage("Could not initialize OpenGL Rendering context !!!");
ogl_inicialized = 0;
return 0;
}
if (!wglMakeCurrent(hdc, hrc))
{
wglDeleteContext(hrc); // Destroy rendering context
ogl_inicialized = 0;
return 0;
}
// ...
ogl_inicialized = 1;
return 1;
}
अतिरिक्त नोट्स
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3