Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Глючит OpenGl


Автор: TomVonzet 20.12.2009, 12:39
Здравствуйте, товарищи. Работаю в C++ Builder + OpenGL.
Занялся экспортом 3d моделей из 3ds Max в OpenGL.
В основном работал по статье http://www.citforum.ru/programming/delphi/export3d/
Столкнулся с вот такой... наверно глобальной проблемой: изображение глючит, тормозит.
Причём именно тогда когда на экране двигается 3d модель, причём чем она больше (в плане масштабирования glScalef), тем сильнее глючит. Зависит, разумеется, и от сложности модели. Но когда на экране глючит примитивнейшая моделька в 1000 граней (а это ведь очень немного!)... Это внушает сильное недоверие. Скажите это вообще нормально? А как игры тогда делаются (на OpenGL же делаются некоторые игры)? На моём компе спокойно идут мощные шутеры (до 2006 года выпуска, правда smile ).

Теперь в плане кода. можете взглянуть в статью, но в кратце: извлекаем модель из MAX с помощью утилиты mega.ms и сохраняем в текстовый файл .gms. Далее в C++ Builder+OpenGL с помощью файла Mesh.pas  считываем из gms все точки, грани, нормали и строим по ним фигуру из треугольников.

Так вот даже относительно лёгкие фигурки подглючивают при перерисовке (с перемещением).

Ваши мысли, подсказки, предложения? Заранее спасибо.

Автор: Alexeis 20.12.2009, 13:22
Цитата(TomVonzet @  20.12.2009,  11:39 Найти цитируемый пост)
Ваши мысли, подсказки, предложения? Заранее спасибо. 

  Самая банальная и типичная причина. Не установлены драйвера от производителя. Только видеодравйвер от производителя имеет полноценные OpenGL драйвера.  

Автор: TomVonzet 20.12.2009, 13:42
Alexeis, драйвера на видеокарту? Да нет, дрова от производителя, у меня ATI Radeon 3450

Автор: sgi1981 23.12.2009, 22:42
Оптимизация, оптимизация и еще раз оптимизация !

Автор: Alexeis 24.12.2009, 00:19
Цитата(sgi1981 @  23.12.2009,  21:42 Найти цитируемый пост)
Оптимизация, оптимизация и еще раз оптимизация !


Цитата(TomVonzet @  20.12.2009,  11:39 Найти цитируемый пост)
Но когда на экране глючит примитивнейшая моделька в 1000 граней (а это ведь очень немного!)..

  Не в оптимизации дело. Возможно необходимо просто переустановить драйвера. 

Автор: Rickert 24.12.2009, 10:52
Проблема в железе. Слейте последние драйвера с официального сайта под вашу ОСь.
Я 80 000 трианглов выводил с 23 fps'ами на Pentium II 400 Mhz и посредственной видяхой от NVIDIA на 32 метра.

Автор: TomVonzet 24.12.2009, 18:32
Вы правы, поставил старую еле-живую Nvidia GeForce 5300, так всё просто летает.
Но дров под мой Radeon 3450 я перепробовал достаточно - а он, к слову, ещё и не хочет корректно работать под Windows XP выше Sp1. Так что придётся или брать новую Nvidia или...

Спасибо огромное всем.  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)