Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

проблемы при создании контекста устройства

8.6K
26 октября 2006 года
Xavier
69 / / 23.08.2006
Значит проблема заключается в следующем: Создаю Win32 App, в обработчике сообщений при получении сообщения WM_CREATE создаю контекст устройства OpenGL, но вот создаваться он ни в какую не хочет. Что делать подскажите плз!!!
Код:
Код:
HDC hdc;
    HGLRC hRC;

    switch (message)
    {
    case WM_CREATE:
        hRC = wglCreateContext(hdc);
        if (!hRC)
        {
            MessageBox(NULL, "Cannot create context.", "Error", MB_OK);
            return FALSE;
        }
        wglMakeCurrent(hdc, hRC);
        break;
    case WM_PAINT:
...
...
...
}
398
26 октября 2006 года
Alexandoros
630 / / 21.10.2005
Может оно еще и ошибки выдает?
8.6K
26 октября 2006 года
Xavier
69 / / 23.08.2006
Ага, выводит MessageBox - "Cannot create context." :-) А вот причины отсутствуют... Соответственно, если в "новый" контекст (который не получилось создать) попытаться что-либо вывести сразу покрывает матом!
398
26 октября 2006 года
Alexandoros
630 / / 21.10.2005
Цитата:

wglCreateContext
The wglCreateContext function creates a new OpenGL rendering context, which is suitable for drawing on the device referenced by hdc. The rendering context has the same pixel format as the device context.

HGLRC wglCreateContext(
HDC hdc // device context of device that the rendering context
// will be suitable for
);
Parameters
hdc
Handle to a device context for which the function creates a suitable OpenGL rendering context.
Return Values
If the function succeeds, the return value is a valid handle to an OpenGL rendering context.

If the function fails, the return value is NULL. To get extended error information, call GetLastError.


Читать умееш?

8.6K
26 октября 2006 года
Xavier
69 / / 23.08.2006
Ладно, с созданием контекста вроде разобрался, однако теперь проблема с инициализацией OpenGL:
 
Код:
int argc = 0;
        char *argv = "";
        glutInit(&argc, &argv);
        glutInitWindowSize(250, 250);
        glutInitWindowPosition(100, 100);
        init();
        glutDisplayFunc(display);
        glutMainLoop();

Как получить код ошибки - непонятно, т.к. функции типа void...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог