![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 12.11.2013
Сообщений: 29
|
![]()
Здравствуйте, у меня есть программа что то типо рисовалки, однако у меня возникла необходимость переместить нарисованный объект(массив объектов типа TPoints), так вооот, как мне сделать нарисованный объект выделяемым?
|
![]() |
![]() |
![]() |
#2 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
![]()
если средствами OpenGL, то обычно каждому объекту отрисовки присваивается уникальный индекс, и в фрагментом шейдере в один буфер записываешь цвет объекта, а в другой его индекс. потом, при необходимости, читаешь содержание индексного буфера по координатам курсора при помощи glReadPixels. тема называется color picking.
Последний раз редактировалось f.hump; 04.11.2015 в 20:33. |
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 12.11.2013
Сообщений: 29
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#4 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
![]()
хотел бы и сам знать.
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 12.11.2013
Сообщений: 29
|
![]()
Здесь у меня происходит перевод x,y координат в формат координат OGL
Задание начальных точек(это для рисования) в зависимости от выбранного режима |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 12.11.2013
Сообщений: 29
|
![]()
Здесь рисую сцену
Код:
А вот когда переключаю в режим мыши и нажимаю на фигуру или пустое место то окно виснет, и приходится закрывать через диспетчер, в чем моя ошибка? Последний раз редактировалось bosyak; 05.11.2015 в 04:43. |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
не перекладывайте работу на gl, gl это вывод.
храните сами инфу об объектах и по ней ищите всех кто входит в нужную точку, а зачем и по z-порядку(он у вас в теории должен быть) ищите нужный. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#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 |