![]() |
|
Модераторы: Rickert, Alexeis, BorisVorontsov |
![]()
|
|
| ller |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 4.8.2008 Где: г. Таганрог Репутация: нет Всего: 4 |
Пытаюсь выучить OpenGL. Сделал несколько примерчиков. Они компилируются, запускаются, но при включеном Compiz-е примитивы не отрисовываются, если их меньше какого то количества. Такое ощущение, что Compiz ,буферезирует вывод. Как его заставить отрисовавать содержимое окна? Использую freeGLUT из дистрибутива Fedore 10.
|
|||
|
||||
| kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 1 Всего: 160 |
ller, я когда на Linux писал, вырубал этот Compiz к чертям собачим. Просто невозможно было с OpenGL работать.
P.S. Терь пишу на Mac OS X. -------------------- |
|||
|
||||
| ller |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 4.8.2008 Где: г. Таганрог Репутация: нет Всего: 4 |
Скринсэйверы все отображают правильно
Но там динамика, поэтому наверное и работает. Но эффекты интересные, самое главное это перемещение окна без "хвостов" и прозрачность Добавлено через 1 минуту и 39 секунд Хотя еще переключатели задач удобные, и затемнение "зависшего" окна. |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 5 Всего: 459 |
ller, один и тот же код перестает работать? Может ошибка есть в коде и компиз просто косвенно влияет на нее приводя к закономерным последствиям которые не были видны только по случайности.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| ller |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 4.8.2008 Где: г. Таганрог Репутация: нет Всего: 4 |
в том то и дело что код простой из учебника, узор Серпинского, при 2900 точек, они в окне появляются, ставишь 2800 чистое окно, хотя при закрытии видно, что происходит их прорисовка, и окно тут же закрывается. При отключении Compiz-а все рисуется сразу. Ощущени, что все сохраняется в буфере и не выводится....
Вот я и спрашиваю, может есть функция аналог glFlush() которая буфер выводит.... Добавлено через 1 минуту Могу код привести, он не большой, там в основном инициализация OpenGL и прочее Добавлено через 4 минуты и 27 секунд Кстати при повторном вызове функции display(), которая зарегестрированна как glutDisplayFunc(display); картинка появляется... т.е. меняю размер окна, это приводит к вызову display() и все прорисовывается, но не сразу.... Добавлено через 5 минут и 7 секунд В смысле сразу окно пустое, при изменении размеров все прорисовавается... |
|||
|
||||
| ller |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 4.8.2008 Где: г. Таганрог Репутация: нет Всего: 4 |
Разобрался... Оказывается я немного того...
Был код....
После того как я исправил на
все заработало, а без Compiz-a первый пример работал... странно однако Добавлено через 5 минут и 50 секунд все |
||||
|
|||||
| ller |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 4.8.2008 Где: г. Таганрог Репутация: нет Всего: 4 |
Хотя как показали опыты этого не достаточно.
Еще необходимо glutInitDisplayMode(GLUT_RGB|GLUT_DOUBLE); И после прорисовки вызывать glutSwapBuffers(); Правда все равно, изменение размеров окна долгое... Передвинул мышку, через 1сек изменилось окно |
|||
|
||||
![]()
|
| Вы можете найти полезным что... | |
|
|
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |