Добавление слушателя мыши к объекту в пространстве GL - PullRequest
0 голосов
/ 18 мая 2011

Как часть игры, которую я пишу, у меня есть текстурированная плоскость земли, которая в настоящее время реализована как квад.Плоскость.

Я могу легко реализовать слушателя, который возвращает координаты в пространстве вида.Однако точка обзора является подвижной, поэтому пиксель в пространстве обзора не всегда соответствует одним и тем же координатам на плоскости земли.

Возможно ли реализовать слушатель мыши для квадрата?В противном случае, есть альтернативная реализация плоскости, которая позволит мне текстурировать плоскость и прослушивать события мыши.

Любой совет с благодарностью!

Ответы [ 2 ]

0 голосов
/ 19 мая 2011

OpenGL просто рисует вещи на экране. В частности, он рисует точки, линии, треугольники, квадраты и выпуклые плоские многоугольники. После того, как пиксели были установлены, OpenGL не имеет постоянства относительно того, что он нарисовал.

Термины, в которых вы думаете, называются графом сцены , но OpenGL не такая вещь.

Однако вы, конечно, можете реализовать граф сцены, который использовал OpenGL для рисования, и этот граф сцены мог бы реализовывать управление событиями и связывать прослушиватели событий, чтобы рисовать их.

0 голосов
/ 18 мая 2011

Первое, что я подумал о прочтении вашего вопроса, было ( Выбор ).Но так как у вас только один квад, вы не сможете определить позиции в квадре.

Другим решением было бы решить эту проблему за пределами OpenGL и вычислить пересечение луча и квадрата.Чтобы определить луч, идущий от точки обзора к сцене, вам все равно понадобится контекст OpenGL.

...