Добавяне на слушател на мишката към обект в рамките на GL пространство

Като част от игра, която пиша, имам текстурирана земна равнина, която в момента е внедрена като четворка.

Трябва да мога да слушам за щраквания на мишката и да насочвам координатите им върху земната равнина.

Мога лесно да внедря слушател, който връща координатите в пространството за изглед. Гледната точка обаче може да се движи, така че пиксел в зрителното пространство не винаги съответства на същите координати на основната равнина.

Възможно ли е да се внедри слушател на мишка за четворка?

В противен случай има ли алтернативна реализация на равнина, която ще ми позволи да текстурирам равнината и да слушам за събития с мишката.

Всеки съвет е много ценен!


person Livagl    schedule 18.05.2011    source източник


Отговори (2)


OpenGL просто рисува неща на екрана. По-специално, той чертае точки, линии, триъгълници, четириъгълници и изпъкнали равнинни многоъгълници. След като пикселите са зададени, OpenGL няма постоянство за това, което е начертал.

Термините, с които мислите, се наричат ​​графика на сцена, но OpenGL не е такова нещо.

Въпреки това, разбира се, можете да приложите графика на сцена, която използва OpenGL за чертане на неща, и тази графика на сцена може да приложи управление на събития и да асоциира слушатели на събития, за да изчертае неща.

person datenwolf    schedule 18.05.2011

Първото нещо, за което се сетих да прочета въпроса ви, беше (Биране). Но тъй като имате само една четворка, няма да можете да определяте позиции в нея.

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

person thalador    schedule 18.05.2011