Opengl на панели инструментов PictureBox в Visual Studio 2008.net - PullRequest
1 голос
/ 30 июля 2009

Как я могу использовать Opengl в наборе инструментов PictureBox в Visual C ++. Я не встречал ни одного документа в Интернете. Знаете ли вы какой-либо документ, учебное пособие, пример кода и т. Д. По этой теме?

Не могли бы вы помочь мне, пожалуйста?

Ответы [ 2 ]

2 голосов
/ 01 августа 2009

Я думаю, вы можете рендериться в любой контекст окна.
Просто получите HWND и используйте его для создания контекста.

void EnableOpenGL(HWND hWnd, HDC * hDC, HGLRC * hRC)
{
    PIXELFORMATDESCRIPTOR pfd;
    int iFormat;

    // get the device context (DC)
    *hDC = GetDC( hWnd );

    // set the pixel format for the DC
    ZeroMemory( &pfd, sizeof( pfd ) );
    pfd.nSize = sizeof( pfd );
    pfd.nVersion = 1;
    pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL |
                  PFD_DOUBLEBUFFER;
    pfd.iPixelType = PFD_TYPE_RGBA;
    pfd.cColorBits = 24;
    pfd.cDepthBits = 16;
    pfd.iLayerType = PFD_MAIN_PLANE;
    iFormat = ChoosePixelFormat( *hDC, &pfd );
    SetPixelFormat( *hDC, iFormat, &pfd );

    // create and enable the render context (RC)
    *hRC = wglCreateContext( *hDC );
    wglMakeCurrent( *hDC, *hRC );
}
1 голос
/ 23 августа 2010

Мне удалось поместить его в pictureBox, используя в этом примере с модификацией , вам останется только изменить конструктор COpenGL на PictureBox (ранее Form). Но только последний picturebox отображается в любом случае. Все еще работаем над этим ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...