![]() |
|
Модераторы: Rickert, Alexeis, BorisVorontsov |
![]()
|
|
| ИванМ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1260 Регистрация: 19.6.2006 Где: СПб Репутация: нет Всего: 23 |
при вызове функции wglCreateContext возникает ошибка GL_INVALID_OPERATION.
При чем не только в моей программе, но еще и в программах с демонстрационного диска. Может быть дело в формате пикселей? Я пишу так:
Ошибка в последней строчке. Предыдущие операции работают. |
|||
|
||||
| Vetos |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 4.4.2005 Репутация: 3 Всего: 4 |
Попробуй переписать кусок:
вот так
-------------------- Строить нужно так, чтоб никто не сломал! А ломать, чтоб никто не знал 8) :ne_huliganit |
||||
|
|||||
| ИванМ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1260 Регистрация: 19.6.2006 Где: СПб Репутация: нет Всего: 23 |
Я этот кусок кода (начиная с PAINTSTRUCT pnt;) выдернул из обработчика события WM_PAINT, так что в этом ошибки нет. Но в любом случае пробовал делать и так: вообще виснит.
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 5 Всего: 459 |
а если pfd вообще не заполнять?
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Vetos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 4.4.2005 Репутация: 3 Всего: 4 |
Так а окно у тебя уже создано или нет?
-------------------- Строить нужно так, чтоб никто не сломал! А ломать, чтоб никто не знал 8) :ne_huliganit |
|||
|
||||
| ИванМ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1260 Регистрация: 19.6.2006 Где: СПб Репутация: нет Всего: 23 |
Vetos, создано.
Alexeis, если не заполнять та же самая ошибка. |
|||
|
||||
| Vetos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 4.4.2005 Репутация: 3 Всего: 4 |
Так у тебя переменная hMainWnd, а в GetDC ты передавал hwnd, это она у тебя в другой функции??
Просто если зависает то значит не может получить dc. -------------------- Строить нужно так, чтоб никто не сломал! А ломать, чтоб никто не знал 8) :ne_huliganit |
|||
|
||||
| ИванМ |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1260 Регистрация: 19.6.2006 Где: СПб Репутация: нет Всего: 23 |
hwnd это и есть hMainWnd. hwnd - параметр функции. Переданным параметром является hMainWnd.
Видимо у меня какой-то глюк в виндах, потому что на моем ноутбуке все работает. Странно... |
||||
|
|||||
| Vetos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 4.4.2005 Репутация: 3 Всего: 4 |
Я так понял вопрос решен, или пока решен))
-------------------- Строить нужно так, чтоб никто не сломал! А ломать, чтоб никто не знал 8) :ne_huliganit |
|||
|
||||
| ИванМ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1260 Регистрация: 19.6.2006 Где: СПб Репутация: нет Всего: 23 |
Vetos, 3-е: вопрос пока не решен) Может кто даст идею что мне делать, чтобы заработало.
|
|||
|
||||
| Vetos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 4.4.2005 Репутация: 3 Всего: 4 |
Я так понял у тебя dc глобальная. Попробуй задать dc = GetDC(hMainWnd);
Сразу после создания окна
И немогу понять у тебя что каждый раз при перерисовке окна создается контекст воспроизведения, просто почему ты находишь dc в OnPaint? Если можешь кинь пример с которого ты пишешь. -------------------- Строить нужно так, чтоб никто не сломал! А ломать, чтоб никто не знал 8) :ne_huliganit |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 5 Всего: 459 |
Странный пример всегда пересоздавать контекст OpenGL
Порядок такой Инициализация. 1) ChoosePixelFormat 2) SetPixelFormat 3) wglCreateContext 4) glViewport Рисуем очередной кадр 1)wglMakeCurrent , не вызываем wglCreateContext 2) Рисование 3) Если используется двойная буферизация то SwapBuffers Контекст можно -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Vetos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 4.4.2005 Репутация: 3 Всего: 4 |
Ну это незнаю что за пример, смысл тратить драгоценное время?? -------------------- Строить нужно так, чтоб никто не сломал! А ломать, чтоб никто не знал 8) :ne_huliganit |
|||
|
||||
![]()
|
| Вы можете найти полезным что... | |
|
|
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |