|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
07.09.2010, 19:57 | #11 |
Пользователь
Регистрация: 09.05.2009
Сообщений: 25
|
Вот application main loop, если я тебя правильно понял:
Код:
Существует управляющий класс GLCore, при создании экземпляра которого происходит инициализация OpenGL и регистрация класса окна: Код:
Код:
Иногда мне кажется, что компилятор просто игнорирует все мои комментарии. (с) Bash.org.ru
|
07.09.2010, 20:15 | #12 |
Пользователь
Регистрация: 09.05.2009
Сообщений: 25
|
Уоу! Заработало!
Всю ResizeGLScene запихнул в DrawGLScene. ValidateRect() убрал, и в потоке вызываю UpdateWindow(hWnd) для всех окон. Все работает так, как я и хотел, но быстродействие заставляет желать лучшего... В общем проблема решена методом научного тыка, сейчас буду курить мануалы, ибо надо понять, почему все происходит так, как происходит... Однако от отдельного потока хочу избавиться. Сейчас, если его отключаю, то корректно рисуется только активное окно. Нужно, что бы прорисовывались все. Как такое возможно реализовать? Как вариант, в обработке WM_PAINT в цикле прорисовывать все окна (их HWND у меня хранятся в векторе). Но высший разум подсказывает мне, что есть решение попроще.
Иногда мне кажется, что компилятор просто игнорирует все мои комментарии. (с) Bash.org.ru
Последний раз редактировалось Koshmarovsky; 07.09.2010 в 20:23. |
07.09.2010, 21:32 | #13 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
Поздравляю, конечно.
Но рекомендую поступить следующим образом: ReSizeGLScene добавить не в Draw, а сразу после SetWindowLong Код:
GL функции вызванные до создания и выбора текущего контекста ни на что не влияют (GLCore). Да, если после убийства второго потока не рисуется, поставь RedrawWindow там где я говорил (десятый пост, наверное). Последний раз редактировалось f.hump; 07.09.2010 в 21:47. |
08.09.2010, 11:21 | #14 |
Пользователь
Регистрация: 09.05.2009
Сообщений: 25
|
Ну все, я вроде допедрил, как все это работает.
RedrawWindow все же нужного эффекта не дает, так как она перерисовывает только одно окно - активное. Поступил следующим образом: Код:
Спасибо за помощь =)
Иногда мне кажется, что компилятор просто игнорирует все мои комментарии. (с) Bash.org.ru
Последний раз редактировалось Koshmarovsky; 08.09.2010 в 11:24. |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
OpenGl | macintoshka12 | Общие вопросы C/C++ | 2 | 21.04.2010 12:59 |
проблемы с opengl. | elenza | Помощь студентам | 1 | 19.11.2009 22:54 |
Opengl | Алексадр | Компоненты Delphi | 4 | 29.09.2009 17:23 |
OpenGL | Paul_AG | C++ Builder | 20 | 14.09.2009 19:07 |
OpenGL | yanl | Компьютерное железо | 0 | 16.11.2008 00:52 |