Как бы вы решили эту необходимость opengl (в c), заключающуюся в том, чтобы знать, на какой квадрат в настольной игре щелкнул пользователь? - PullRequest
2 голосов
/ 17 ноября 2010

Итак, у меня есть эта доска, чтобы играть в настольную игру ... Проблема в том, как узнать, в каком квадрате щелкнул пользователь?Я знаю координаты x и y, но как мне это автоматизировать, без необходимости выслеживать конкретные места каждого квадрата.(Также размер доски является переменным ... поэтому он может иметь много квадратов или очень мало, но доска всегда имеет одинаковую высоту и ширину, то есть такое же количество квадратов, идущих слева направо,количество квадратов, идущих сверху вниз).

Большое спасибо за переполнение стека:)

Ответы [ 2 ]

1 голос
/ 17 ноября 2010

Существует множество вариантов: http://www.opengl.org/resources/faq/technical/selection.htm

0 голосов
/ 17 ноября 2010

Проблема, о которой вы говорите, называется «сбор», и для этого есть несколько решений:

  • Выбор на основе окклюзионного запроса (довольно современный, но я еще не пробовал - на эту тему есть какая-то напыщенность здесь ),
  • геометрический сбор (математика и независимо от OpenGL),
  • Выбор на основе цвета (немного старый и хакерский, но очень простой в реализации).

Я ранее описал последний подход здесь:
OpenGL GL_SELECT или ручное обнаружение столкновений?

...