2013-04-18 7 views
2

OpenGL을 사용하여 콘솔에서 최소한의 시각적 표시를 만들고 싶지만 내 지식이 있으면 윈도우 시스템 (glut, glfw, sdl 등)이 있어야합니다.).리눅스 콘솔 (Raspbian)에서 OpenGL 컨텍스트 만들기

omxplayer 일부 처리 능력을 절약하고 감상 가능한 영화를 만들기 위해 콘솔에서 그래픽 환경을 구축 한 것 같습니다 (필자는 그것이 OpenGL 또는 이와 유사한 것으로 가정하므로 틀렸을 경우 수정하십시오). PI.

나는 어떻게 그 일을하고 있을까? 이 주제에 몇 가지 문학이 있습니까? 저는 주로 C/C++의 솔루션에 관심이 있습니다. 그러나 이러한 기능을 가진 언어는 알아두면 좋습니다!

소스 코드를 통해 청소했지만 실제로이 특정 작업에 대한 단서를 찾을 수 없습니다. 어떤 도움이나 포인터를 주시면 감사하겠습니다!

답변

3

:

다음은 SubtitleRenderer 클래스의 일부 코드 년대 라즈베리 파이에서 OpenGL ES하지 OpenGL을한다.

당신은 비디오 코어 SDK에서 콘솔 기반의 OpenGL ES 응용 프로그램을 만드는 예제를 찾을 수 있습니다

/opt/vc/src/hello_pi

난 당신이 SDL을 언급 특히, 당신은 "윈도우 시스템"에 의해 무슨 뜻인지 모르겠어요. 콘솔에서 SDL + OpenGL ES를 절대적으로 사용할 수 있습니다. 그것이 Quake3 포트 (그리고 내가 만든 Quake2 포트)가 사용하는 것입니다.

2

네이티브 플랫폼 인터페이스 EGL을 사용합니다.

void SubtitleRenderer::initialize_vg() { 
    // get an EGL display connection 
    display_ = eglGetDisplay(EGL_DEFAULT_DISPLAY); 
    ENFORCE(display_); 

    // initialize the EGL display connection 
    ENFORCE(eglInitialize(display_, NULL, NULL)); 

    // get an appropriate EGL frame buffer configuration 
    static const EGLint attribute_list[] = { 
    EGL_RED_SIZE, 8, 
    EGL_GREEN_SIZE, 8, 
    EGL_BLUE_SIZE, 8, 
    EGL_ALPHA_SIZE, 8, 
    EGL_SURFACE_TYPE, EGL_WINDOW_BIT, 
    EGL_NONE 
    }; 
    EGLConfig config{}; 
    EGLint num_config{}; 

    ENFORCE(eglChooseConfig(display_, attribute_list, &config, 1, &num_config));