Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы с OpenGL и фулскрин. 
:(
    Опции темы
Гость_motor
Дата 31.10.2004, 01:28 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Проблемма вот какая. Сделал я типо игрушки в openGL - простенько без наворотов, без теней и источник света только один. Сначало все было нормально, но когда я начал делать более детализированные объекты(с большим числом полигонов) начало тупить и идти чуть ли не по кадрам, хотя на всем уровне полигонов всего наберется не больше 1000. Конечно может это я где-нить наглючил... 9)
Но уменя такое ощущение что это сдох OpenGL.
Подскажите как ускорить вывод графики.

Еще есть вторая проблемма. Когда я включаю полноэкранный режим. У монитора становится частота 60 гц. Шо с этим поделать?
  Вверх
chipset
Дата 31.10.2004, 01:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: нет
Всего: 165



Чем выводишь полигоны на экран?
Уж не glBegin/glEnd ли?
Юзай glDrawArrays()..


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Гость_motor
Дата 31.10.2004, 02:27 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Да именно им родимым..... 8)
Попробую заюзать этот glDrawArrays()


  Вверх
timson
Дата 31.10.2004, 08:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 29.10.2004
Где: уфа

Репутация: нет
Всего: нет



glDrawArrays() на много не увеличит fps, проблема скорее не в этом...
выводил нескоко десятков тысяч (~50-70) треугольников с пом. glBegin(GL_TRIANGLES), да ни че.. fps не падал ниже 15 при разрешении 800х600..

дело в другом.
может быть включил glEnble() че-нить не то. (например, только включение GL_STENCIL_TEST в билдере - кошмар fps ~ 5-7)..

пробуй откл. по одной функции, и ищи так слабое место.

еще для оптимизации вкл.
Код
glEnable(GL_CULL_FACE);
glCullFace(GL_FRONT);//отображение лицевых граней
glCullFace(GL_BACK);//отображение не[s]лицевых граней


Цитата
Когда я включаю полноэкранный режим. У монитора становится частота 60 гц. Шо с этим поделать

включаешь так:
Код
ChangeDisplaySettings(&dmScreenSettings, CDS_FULLSCREEN);

Если да то пробуй
Код
dmScreenSettings.dmDisplayFrequency = 85;


хотя при устанавливаемом разрешении, такая частот может не поддерживаться, проверь:
Код
BOOL EnumDisplaySettings(

   LPCTSTR lpszDeviceName, // specifies the display device
   DWORD iModeNum, // specifies the graphics mode
   LPDEVMODE lpDevMode // points to structure to receive settings
  );

PM MAIL   Вверх
Гость_motor
Дата 31.10.2004, 15:31 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Нда прикольная штука этот GL_CULL_FACE
Тока пришлось пару полигонов перерисовать.
А вообще OpenGL убирает полигоны которые не поподают в угол зрения?
  Вверх
chipset
Дата 31.10.2004, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: нет
Всего: 165



Цитата

А вообще OpenGL убирает полигоны которые не поподают в угол зрения?

Нет вроде..
timson
Спасибо огромное. Попробую :)


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
 2 Motor
Дата 12.11.2004, 06:32 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Всякую хрень тебе тут наболтали.

Надо просто грамотно юзать glBegin() и glEnd().

Если ты пихаешь в цикл их, то надо задуматься: может можно сделать проще и не пихать?
Ибо тормоза идут, по большей части, из-за переключение граф. режимов в OGL'е.
  Вверх
DENNN
Дата 12.11.2004, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 2
Всего: 43



Нда, тыкнуть пальцев в проблемный код, которого не видел - это всегда сложно smile
Вообще, очень настораживает фраза
Цитата
хотя на всем уровне полигонов всего наберется не больше 1000. Конечно может это я где-нить наглючил...

А так, как верно сказали в предыдущем посте, при таком О-О-Очень маленьком количестве полигонов проблемы вероятно просто в неправильном выводе на граф. конвеер.
Добавлено @ 10:05
P.S. Поверь мне - при 1000 полигонов без теней и спец. эффектов нарисовать сцену можно и на самой слабой машине без проблем.
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0469 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.