Intel HD 3000에서 적절한 OpenGL 초기화는 무엇입니까?
OpenGL 초기화 및 종료를 처리하는 코드 조각이 일반적으로 올바른 것처럼 보이지만 로딩 라이브러리를 사용하여 최적화하는 것을 고려해보세요. 권장되는 접근 방식은 초기화를 직접 수행하는 대신 로더 라이브러리를 사용하는 것입니다.
제안되는 개선 사항:
<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>
추가 팁:
위 내용은 더 나은 성능을 위해 Intel HD 3000에서 OpenGL 초기화를 최적화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!