2015-01-15 2 views
4

FreeGLUT API 설명서에는 glutInitContextVersion에 대한 항목이 포함되어 있지 않으며 해당 항목을 Google에서 찾을 때 그 사용법이나 효과를 직접적으로 다루지 않는 질문 목록 만 있습니다.glutInitContextVersion에 대한 문서는 어디에 있습니까?

어디에서 문서화되어 있습니까?

+0

관련 : https://stackoverflow.com/questions/22055522/glutinitcontextversion-is-missing-from-glut-library –

답변

5

glutInitContextVersion은 (완전히 구식 인 btw 인) 공식 GLUT API에는 포함되어 있지 않지만 freeglut에 의해 추가 된 비공식적 인 확장 기능은 아닙니다. 그러나 OpenGL의 컨텍스트 버전이 작동하는 방법을 알게되자 마자 바로 그 사용법이 곧바로 forwadd가됩니다. 확장 문맥은 ARB_create_context입니다.

이 함수는 컨텍스트가 실제로 만들어 질 때 요청 된 OpenGL 버전을 선택합니다. 이 구현에서는 요청한 버전의 컨텍스트를 반환하도록 구현할 필요는 없지만 호환을 요청 된 버전으로 반환하여 해당 버전의 모든 기능을 제공해야합니다.

프리 글루 (freeglut) 처리에 대해 설명하지 않은 몇 가지 사항이 있습니다. 코드를 살펴보면 (현재 stable 버전 2.8.1의 경우) freeglut이 다음 로직을 구현한다는 것을 알 수 있습니다 : 구현시 버전 제약 조건을 완전히 채울 수는 없지만 ARB_create_context 확장을 지원하면 오류가 발생하고 아무런 오류도 발생하지 않습니다 컨텍스트가 생성됩니다. 그러나 버전이 요청되었지만 구현이 관련 확장을 지원하지 않는 경우 레거시 GL 컨텍스트가 만들어져 버전 요청을 완전히 무시합니다. 이것은 나에게 모순 된 것처럼 보입니다. 그러나이 내용이 문서화되지 않았기 때문에 GLUT 사양의 일부가 아니기 때문에 향후 동작이 동일하게 유지 될지 불분명합니다.

일부 GLUT 전용 기능 (기본적으로 모두 폐지 된 OpenGL에 의존하고 있음)이 필요하지 않은 경우 GLFW과 같은 몇 가지 최신 대안을 살펴볼 수 있습니다.

+0

감사합니다. 도움이되었습니다. FreeGLUT에 플랫폼 간 문제가 있다는 것을 알지 못해서 실제로 GLFW를 살펴보기 시작했습니다. –

관련 문제