| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Программирование игр, графики и искусственного интеллекта > Библиотека "примитивов" OpenGL. |
| Автор: kemiisto 22.2.2009, 19:59 |
| Всем привет! Столкнулся с такой проблемой: использование функции из GLU даёт разный результат на разных ОС. На Mac OS X и Windows - ожидаемый, на Linux (Mesa3d) - о ужас! Ну, тут лучше один раз увидеть: Как оно должно быть. И оно так нам и является на Windows и Mac OS X. ![]() А вот это мы увидим в Linux: ![]() Поначалу грешил на Java (юзал JOGL), перебрался на С++ (Qt) - те же грабли. Исследование нескольких OpenSource проектов (Avogadro, GLScene, ...) показало, что разработчики избегают использования GLU и предпочитают строить различные квадрические объекты вручную. Т.е. из примитивов, вручную прописываю нормали, и т.д. Я такое однозначно не потяну. Я не в состоянии такое осмыслить. Вот собственно мы и подходим к вопросу: может кто видел где-нибудь набор функций для отрисовки объектов (сферы, конусы, ...)? Нужно что-то простенькое (а-ля упомянутый GLScene) только на С++. P.S. Игровые движки (а-ля OGRE) не предлагать. Мне так много функционала не нужно. |
| Автор: kemiisto 23.2.2009, 00:43 | ||
Так, ошибку отрисовки поборол! Код использовал http://lifeofaprogrammergeek.blogspot.com/2008/07/rendering-cylinder-between-two-points.html. Вот в этом месте:
число .0001 берётся "с потолка". На Linux потребовалось его увеличить на порядок. |
| Автор: arilou 23.2.2009, 18:09 |
| kemiisto, это для борьбы с z-fighting что-ли? |
| Автор: kemiisto 23.2.2009, 20:38 |
Думается мне, тут немного не тот случай... |