Использование RayCasting для 2D-игры - PullRequest
1 голос
/ 26 июля 2011

В одном из моих предыдущих вопросов я спрашивал о onTouchEvents в OpenGL. Идея состояла в том, чтобы создать простое приложение, которое рисовало квадрат, где вы нажимали на экран. Через некоторое время я выпустил приложение, которое делало все так, как должно, но квадрат не перерисовывался, он просто исчезал с экрана.

Мне сказали, что для решения этой проблемы мне нужно отправить луч в трехмерную среду OpenGL с моей двухмерной перспективы, но я не могу понять почему, потому что когда я читал о лучевом вещании, это казалось использоваться в основном для световых эффектов. Что такое лучевое вещание? Зачем мне вообще нужна ось z, когда все, что мне нужно изменить в положении квадратов, это оси x и y, из которых можно найти куининатов, независимо от того, на какой глубине регистрируется касание?

1 Ответ

1 голос
/ 26 июля 2011

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

...