Russian Qt Forum
Ноябрь 23, 2024, 00:58 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Манипуляция с точками  (Прочитано 4334 раз)
Sahsa
Гость
« : Март 07, 2016, 18:25 »

Всем доброго времени суток!
Подскажите пожалуйста, как можно реализовать следующую задачу при помощи opengl.
Пользователем рисуется ломаная линия (данный этап не интересует), а после у него есть возможность перемещать узлы (точки перелома) линии (другими словами, производить манипуляцию с точками, уже существующего примитива). 
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #1 : Март 08, 2016, 08:37 »

OpenGL не поддерживает адаптивное рисование, т.е. всю линию придется перерисовывать. Это не проблема т.к. скорость рисования OpenGL очень велика при использовании напр glDrawArrays и glDrawElements. Если Вы имели ввиду что-то другое - поясните
Записан
ssoft
Программист
*****
Offline Offline

Сообщений: 584


Просмотр профиля
« Ответ #2 : Март 11, 2016, 07:53 »

Всем доброго времени суток!
Подскажите пожалуйста, как можно реализовать следующую задачу при помощи opengl.
Пользователем рисуется ломаная линия (данный этап не интересует), а после у него есть возможность перемещать узлы (точки перелома) линии (другими словами, производить манипуляцию с точками, уже существующего примитива). 


Если вы не хотите писать свой графический движок с обработкой интерактивных событий с помощью OpenGL (это задача и связана с конкретной моделью данных отображаемой сцены), то лучше воспользоваться готовым решением, например, QGraphicsScene.
Записан
Sahsa
Гость
« Ответ #3 : Март 20, 2016, 11:30 »

Всем спасибо) что-то я забыл, про пост. В результате я написал свой маленький движок для работы с точками и линиями в OpenGl)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.132 секунд. Запросов: 22.