|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.11.2015, 20:12 | #1 |
Пользователь
Регистрация: 12.11.2013
Сообщений: 29
|
Перемещение объекта OpenGl
Здравствуйте, у меня есть программа что то типо рисовалки, однако у меня возникла необходимость переместить нарисованный объект(массив объектов типа TPoints), так вооот, как мне сделать нарисованный объект выделяемым?
|
04.11.2015, 20:29 | #2 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
если средствами OpenGL, то обычно каждому объекту отрисовки присваивается уникальный индекс, и в фрагментом шейдере в один буфер записываешь цвет объекта, а в другой его индекс. потом, при необходимости, читаешь содержание индексного буфера по координатам курсора при помощи glReadPixels. тема называется color picking.
Последний раз редактировалось f.hump; 04.11.2015 в 20:33. |
04.11.2015, 20:31 | #3 | |
Пользователь
Регистрация: 12.11.2013
Сообщений: 29
|
Цитата:
|
|
04.11.2015, 20:38 | #4 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
хотел бы и сам знать.
|
05.11.2015, 04:34 | #5 |
Пользователь
Регистрация: 12.11.2013
Сообщений: 29
|
Здесь у меня происходит перевод x,y координат в формат координат OGL
Задание начальных точек(это для рисования) в зависимости от выбранного режима |
05.11.2015, 04:39 | #6 |
Пользователь
Регистрация: 12.11.2013
Сообщений: 29
|
Здесь рисую сцену
Код:
А вот когда переключаю в режим мыши и нажимаю на фигуру или пустое место то окно виснет, и приходится закрывать через диспетчер, в чем моя ошибка? Последний раз редактировалось bosyak; 05.11.2015 в 04:43. |
05.11.2015, 07:50 | #7 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
не перекладывайте работу на gl, gl это вывод.
храните сами инфу об объектах и по ней ищите всех кто входит в нужную точку, а зачем и по z-порядку(он у вас в теории должен быть) ищите нужный. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
06.11.2015, 05:38 | #8 |
Пользователь
Регистрация: 12.11.2013
Сообщений: 29
|
Кароче сделал через glReadPixels
однако возникла вторая проблема, 3 неодинаковых по цвету фигуры но перемещать я могу только ту что нарисовал последней в чем прикол не пойму на картинках пример, сначала нарисовал красный, его двигать можно было, потом нарисовал зеленый, зеленый квадрат теперь зеленый квадрат двигать можно а красный нет, хотя и красный квадрат выделяется, специально для этого статус бар сделал Последний раз редактировалось bosyak; 06.11.2015 в 05:43. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перемещение нарисованного объекта | Mr.Dmitry | Общие вопросы Delphi | 22 | 09.10.2015 16:59 |
Перемещение графического объекта | woorribin | Помощь студентам | 0 | 10.05.2015 15:21 |
Перемещение объекта мыщью | palyach | Паскаль, Turbo Pascal, PascalABC.NET | 20 | 03.05.2013 14:58 |
перемещение объекта за курсором мышки | eu8cc | Общие вопросы Delphi | 2 | 28.09.2009 22:48 |