2014-07-13 4 views
1

OpenGL 1.2 컨텍스트를 만들고 싶지만 "GLFW 창을 열지 못했습니다."라는 오류 메시지가 나타납니다. 3.3 또는 4.3 컨텍스트를 만들 때 문제가 없습니다. 1.2 컨텍스트를 만들려면 어떻게해야합니까?GLFW 3에서 OpenGL 1.2 컨텍스트를 만드는 방법

glfwWindowHint(GLFW_SAMPLES, 4); 
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 1); 
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2); 
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); 

const GLFWvidmode * mode = glfwGetVideoMode(glfwGetPrimaryMonitor()); 
WindowWidth = mode->width; 
WindowHeight = mode->height; 
midWindowWidth = WindowWidth/2; 
midWindowHeight = WindowHeight/2; 



window = glfwCreateWindow(WindowWidth, WindowHeight, "Quadcopter Project", glfwGetPrimaryMonitor(), NULL); 
if(window == NULL) 
{ 
    fprintf(stderr, "Failed to open GLFW window. \n"); 
    glfwTerminate(); 
    return -1; 
} 

답변

3

OpenGL에 프로필이 없습니다. < 3.2. 그런 일이 없기 때문에 1.2 코어 프로파일을 생성 할 수 없습니다.

모두 드라이버가 직접 1.2 컨텍스트를 만들도록 강제 할 수 없습니다. 특정 컨텍스트 버전을 요청하는 기능이 3.0에서 도입되었습니다. 그래서 기본적으로 3.0 이전의 모든 것은 단지 레거시 컨텍스트 일뿐입니다. 1.2를 요구할 수는 있지만,이 플랫폼에서 시도하는 드라이버와 플랫폼에 따라 훨씬 높은 (호환성 프로파일) 컨텍스트를 제공 할 수도 있습니다.

+0

제 그래픽 카드는 Intel입니다. 3.3 또는 3.2를 지원하지 않습니다. 어떻게 코드를 실행할 수 있습니까? – user3817833

+0

어떤 코드입니까? 'GLFW_CONTEXT_VERSION_MAJOR','GLFW_CONTEXT_VERSION_MINOR' 및'GLFW_OPENGL_PROFILE' GLFW 윈도우 힌트 설정을 모두 지울 수 있으며 지원하는 가장 오래된 레거시 프로파일로 끝납니다. 그러나 이것이 일부 GL 프로그램의 일부라면 현대 GL 기능의 존재에 의존하기 때문에 여전히 실행되지 않을 수 있습니다. 그러나 원래 게시물에서 "문제 없음"으로 3.3 또는 4.3 핵심 프로필 컨텍스트를 만들 수 있다고 말하면서 혼란 스럽습니다. 이제는 GPU가 전혀 문제를 지원하지 않는다고 말합니다. – derhass

+0

또한 그래픽 카드가 OpenGL 3을 지원하지 않습니까? 적어도 OpenGL 2.1을 지원해야합니다. 그래픽 드라이버가 오래되었을 수 있습니까? – fintelia