У меня есть две точки, которые описывают строку, проблема в том, что я знаю координаты одного для орфографической матрицы (то есть 150x250x0) и координаты для второй для перспективной матрицы (0.5x0.5x20.0f). Я хотел бы перевести орфографические координаты в перспективу, чтобы я мог нарисовать линию, используя glsl shader :). Как выполнить эту задачу?Перевести ortographic to перспективу
ответ
Вам нужно переместить одну из ваших вершин в другое пространство матрицы. Например, давайте переместим 150x250x0 из орфографического в перспективное пространство. Для этого вам нужно преобразовать вершину с помощью инвертированной орфографической матрицы. Я не знаю, какую математическую библиотеку вы используете, может быть, у нее уже есть функция для инверсии матрицы. В противном случае используйте код по этой ссылке: http://www.gamedev.net/topic/180189-matrix-inverse/. После этого шага ваша вершина находится в мировом пространстве.
PS: Матричная инверсия занимает некоторое значительное время для расчетов. Если вы можете отслеживать шаги трансформации (перевод, поворот и масштабирование), проще всего будет инвертировать эти шаги отдельно и составить матрицу после этого.
- 1. C++ OpenGL weired ortographic camera
- 2. 2D текстура морфы в Ortographic проекции
- 3. Перевести CancelableEvent to RX
- 4. Перевести SPARQL-TO-SQL запросы
- 5. Перевести LINQ to sql statement
- 6. Не восстанавливать перспективу
- 7. Перевести CouchDB javascript views to erlang
- 8. Перевести Google Translate Eclipse plugin to eclipse
- 9. Перевести JButton setActionCommand function to JSpinner
- 10. Перевести SQL на linq-to-sql (подзапрос)
- 11. Инструмент для преобразования (перевести) C to Go?
- 12. Перевести javascript string replace function to php
- 13. Перевести C union to pascal вариант записи
- 14. Создайте перспективу с andengiine GLES2
- 15. Просмотреть видимые объекты на перспективу
- 16. Сбросить перспективу в R Studio?
- 17. Eclipse Добавить перспективу в Runtime
- 18. Как использовать перспективу в GLM?
- 19. Как добавить перспективу в UIImageView
- 20. Eclipse RCP: сохранить перспективу программно
- 21. Отправьте запрос на перспективу без использования Outlook
- 22. Создание свойства, которое LINQ to Entities может перевести
- 23. Yii2 как перевести каскад выбрать в where where to activequery?
- 24. Перевести LINQ to SQL-запрос в NHibernate (фильтр дочерней коллекции)
- 25. Перевести github flavored markdown regex от ruby to python
- 26. Как заставить Linq to SQL перевести на производный столбец?
- 27. Экранирующий угловой кронштейн действует аналогично перспективу
- 28. E4 получить активную перспективу ID или ярлык
- 29. PyQtGraph - Выключить перспективу в 3d-виде
- 30. Может ли плагин eclipse изменить существующую перспективу
Я уже понял другое решение, я только что переместил расстояние 150x250 в 0-1, нормализуя его, используя ширину и высоту матрицы. Это было так просто ... :) – ZZZ