Реализация лассо выбрать - PullRequest
0 голосов
/ 11 января 2012

вот что мы имеем сегодня:
* NxM сетка точек в 3D
* мы рисуем их, используя устаревшие вызовы opengl.
* у нас есть резиновая полоса выбора и выделение одной точки, используя буфер выбора.

Сегодня мы можем использовать CTRL для выбора частей того, что мы хотим выбрать, пока у нас не будет выбора, который мы хотим.но это становится очень раздражающим, если у вас есть сетка 200x500 и вы хотите выбрать круг, звезду или что-нибудь, что не является прямоугольником.

Я пытался найти любую информацию о том, как создать выделение лассо, некоторые люди используют уникальные цвета для каждого объекта, а затем используют readpixel, чтобы увидеть, что было выбрано.Мы не можем использовать это, потому что все наши очки должны быть одного цвета.

1 Ответ

1 голос
/ 11 января 2012

На Lighthouse3D.com есть довольно хорошее иллюстрированное руководство по выбору цвета:

http://www.lighthouse3d.com/opengl/picking/index.php?color1

Это довольно быстро, и я внедрил эту технику в приложения с миллионами полигонов. Гораздо быстрее, чем ограничивающие прямоугольники, поскольку вы проверяете только то, что находится под курсором (или областью лассо). Кроме того, он совместим с OpenGL ES, поскольку выбор буфера обратной связи находится на выходе.

...