2017-01-23 3 views
0

OpenGL ES 2.0 용 Mac에서 GLFW3.2.1로 창을 만들기 위해 고심 중입니다 ... macOS에서 OpenGL ES 2.0 창을 만들 수 있습니까?Mac에서 GLFW 3.2.1을 사용하여 OpenGL ES 2.0 용 창을 만들 수 있습니까?

그래픽 카드가 Iris Pro 또는 Radeon Pro 455를 사용 중입니다. GL_ARB_ES2_compatibility가 있습니다.

코드는 다음과 같다 :

#include <GL/glew.h> 
#include <GLFW/glfw3.h> 

int main(int argc, char *argv[]) { 

    if (!glfwInit()) { 
     fprintf(stderr, "Failed to initialize GLFW\n"); 
     getchar(); 
     return -1; 
    } 

    glfwWindowHint(GLFW_CLIENT_API, GLFW_OPENGL_ES_API); 
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 2); 
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 0); 
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); 

    GLFWmonitor *monitor = glfwGetPrimaryMonitor(); 
    const GLFWvidmode *mode = glfwGetVideoMode(monitor); 

    window = glfwCreateWindow(mode->width, mode->height, "Window", NULL, NULL); 

    if (window == NULL) { 
     fprintf(stderr, 
       "Failed to open GLFW window.\n"); 
     getchar(); 
     glfwTerminate(); 
     return -1; 
    } 
    ... 

난 항상 창을 만들기 위해 실패 ... 어떤 힌트는 환영합니다!

답변

1

tl; dr : 가능하지 않습니다.

저는 이와 똑같이 고민하고 있습니다. 현재이 문제는 GLFW 3.2.1의 내부 검사로 인해 OpenGL ES 컨텍스트를 만들 수 없기 때문에 발생합니다. 당신이 GLFW_OPENGL_ES_API을 요청하는 경우

if (ctxconfig->client == GLFW_OPENGL_ES_API) 
{ 
    _glfwInputError(GLFW_API_UNAVAILABLE, 
        "NSGL: OpenGL ES is not available on OS X"); 
    return GLFW_FALSE; 
} 

는 기본적으로, 당신의 창은 항상 null이됩니다 : nsgl_context.m에서보세요.

현재 MoltenGL에서 발견 된 OpenGL ES 2.0 라이브러리를 포함하여이 문제를 해결할 방법을 찾고 있지만 아직까지는 행운이 없습니다.

https://moltengl.com/downloads/