Quelle est l'initialisation OpenGL appropriée sur Intel HD 3000 ?
Votre extrait de code gérant l'initialisation et la sortie d'OpenGL semble généralement correct, mais vous pouvez pensez à l'optimiser à l'aide d'une bibliothèque de chargement. Une approche recommandée consiste à utiliser une bibliothèque de chargement au lieu d'effectuer l'initialisation vous-même.
Améliorations suggérées :
<code class="c++">int OpenGLscreen::init(void *f, int textures) { if (_init) exit(); frm = (formtype *)f; HDC hdc = GetDC(frm->Handle); if (!_used) { // Pixel format selection logic ... } // Create OpenGL context using a loader library hrc = CreateOpenGLContext(hdc); if (hrc == NULL) { ... // Handle context creation failure return 0; } wglMakeCurrent(hdc, hrc); if (!glewInit()) { ... // Handle GLEW initialization failure return 0; } _init = 1; _used = 1; ... // Continue initialization code </code>
<code class="c++">void OpenGLscreen::exit() { if (!_init) return; wglMakeCurrent(NULL, NULL); wglDeleteContext(hrc); _init = 0; }</code>
Conseils supplémentaires :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!