|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.12.2017, 11:15 | #1 | |
Регистрация: 10.12.2017
Сообщений: 4
|
Перевод оконных координат в координаты мира
Здравствуйте, я делаю игру на OpenGL + GLFW3 + glew. Сейчас в моем арсенале имеется возможность управлять камерой FPS с помощью клавиш и отрисовывать кубики. Мне необходимо при нажатии мышкой на какой-либо отрисованный полигон узнать координаты точки прохождения луча камеры на плоскости объекта. Каким образом этого можно добиться? Я где-то нашел, что для этого необходимо перемножить некий вектор с обратной матрицей MVP, но проблема в том, что я при отрисовке нескольких (объектов) кубов использую MVP, которая относится конкретно в этому кубу. Т.е у меня нет общей MVP и интуитивно понятно, что если я возьму к примеру MVP[0] для вышеописанной махинации, то пользы мне это не даст. Правильно ли, что я рисую всё по очереди таким способом? Буду благодарен за внятную подсказку на оба вопроса.
Пример моего кода из основного цикла: Цитата:
через юниформ отправляю данные в вертексный шейдер vertexbuffer - буфер вершин uvbuffer - буфер координат текстуры normalbuffer - буфер нормалей (для освещения) |
|
11.12.2017, 12:01 | #2 |
Форумчанин
Регистрация: 09.11.2017
Сообщений: 121
|
Простым умножением матрицы не обойтись, если я правильно понял задачу. Нужно сделать ray-cast из камеры и найти точку пересечения. Нужен физический движок для этого. Или самому написать алгоритм пересечения луча с треугольной моделью.
Но может можно по-другому задачу решить, если вы расскажете в чем задача)
Профессионально программирую видео-игры. Пишу бекстейдж-блог о разработке игр CoreMission.net.
Разрабатываю календарь выхода игр. |
12.12.2017, 20:42 | #3 | |
Регистрация: 10.12.2017
Сообщений: 4
|
Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перевод координат | tytona | Помощь студентам | 0 | 29.12.2014 20:08 |
Преобразование трехмерных координат точки в двухмерные координаты экрана. | SaMaLerO | Общие вопросы Delphi | 0 | 18.02.2014 00:21 |
Преобразование одномерных координат массива в двумерные координаты матрицы | nikol_ | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 2 | 05.05.2011 13:16 |
перевод координат | neprogrammist | Общие вопросы Delphi | 2 | 18.05.2010 23:20 |
Перевод координат | ax1d | Общие вопросы Delphi | 1 | 04.11.2009 14:23 |