![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| PPS05 |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 262 Регистрация: 6.11.2005 Где: Беларусь, Минск Репутация: нет Всего: 7 |
Есть следующий код, который устанавливает формат пиксела для использования в OpenGL:
Если убрать строчку Gl.wglMakeCurrent(hdc, 0);, то SetPixelFormat возвращает 1, но формат пиксела не устанавливается (проверялось с помощью GetPixelFormat) и контекст не создается. А так - все нормально. Вопрос: в чем дело? Почему этот вызов обязателен и можно ли без него обойтись? Gl - мой класс, вышеописанные функции объявлены так:
-------------------- Ушел с форума и не вернулся. |
||||
|
|||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Вообще-то, необязателен. А что говорит GetLastError после неудачного вызова SetPixelFormat?
-------------------- ![]() |
|||
|
||||
| PPS05 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 262 Регистрация: 6.11.2005 Где: Беларусь, Минск Репутация: нет Всего: 7 |
GetLastError() возвращает либо 0, либо 1008 "Попытка ссылки на несуществующий маркер" - в зависимости от того, где ставлю breakpoint. Только вот SetPixelFormat в любом случае возвращает TRUE. А вместо строчки Gl.wglMakeCurrent(hdc, 0); можно написать, например, Gl.wglCreateContext(hdc); - тоже после этого все будет нормально. Больше ничего не смог выяснить.
-------------------- Ушел с форума и не вернулся. |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
В доках ещё говорится про ограничения накладываемые на hdc и окно, возможно что-то не выполняется в этом случае:
(взято из хелпа по SetPixelFormat) -------------------- ![]() |
|||
|
||||
| PPS05 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 262 Регистрация: 6.11.2005 Где: Беларусь, Минск Репутация: нет Всего: 7 |
Со стилями все в порядке. А вот это заинтересовало:
.net вне моего ведома не устанавливает формат до меня? -------------------- Ушел с форума и не вернулся. |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Смотря какое окно брать в GetDC, у формы будут другие настройки WS_-стилей по сравнению с контролом/панелью. З.Ы. вообще-то, не пробовал с OpenGL работать в дотнете, так что ногами не пинайте. -------------------- ![]() |
|||
|
||||
| PPS05 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 262 Регистрация: 6.11.2005 Где: Беларусь, Минск Репутация: нет Всего: 7 |
В GetDC беру Handle просто формы. Здесь у них все нормально. Чего же я такого натворил, что меня SetPixelFormat так не любит?...
-------------------- Ушел с форума и не вернулся. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |