Форум программистов, компьютерный форум, киберфорум
Наши страницы

Объединение view и projection матриц - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Немного философии ООП http://www.cyberforum.ru/cpp/thread1808784.html
На днях на работе возник холивар с коллегами, к правильному решению пришли только на следующий день, почитав Мейерса и Саттера (один из участников холивара уже знал о правильном решении, но...
C++ OpenCV захват видео с веб-камеры Начал изучать OpenCV. В просторах интернета нашел данный код: #include <cv.h> #include <highgui.h> #include <stdlib.h> #include <stdio.h> int main(int argc, char* argv) { // получаем... http://www.cyberforum.ru/cpp/thread1808506.html
Как компилятор обрабатывает член класса static constexpr const char* C++
Привет! Наткнулся на непонятный момент class Foo { public: static constexpr const char* PTR = "value"; }; без constexpr не компилируется. Вопрос - как компилятора без линкера...
C++ Распознование животных на изображении
Стала интересна тема распознавания образов на изображениях. Программа должна получать картинку с животным и определить какое это животное(как я понимаю, задача не простая, но все же) . Подскажите в...
C++ Как подружить компьютер c МК через USB http://www.cyberforum.ru/cpp/thread1807335.html
Здравствуйте, уважаемые форумчане! Никогда не работал с USB нужна помощь. Есть компьютер под управлением Windows 7, плата разработки DE0-Nano-SoC. Необходимо написать программу для ОС, которая...
C++ Различия между Java и Си++ Я раньше программировал на си++,сейчас начал на java,нужно понять основные различия 1. Каковы отличия в структуре программы вычисления простого арифметического выражения на языке Си и Си++ от... подробнее

Показать сообщение отдельно
Fulcrum_013
1200 / 893 / 91
Регистрация: 14.12.2014
Сообщений: 7,384
Завершенные тесты: 3
19.09.2016, 22:07
Такое впечатление что View транспанирована. Позиция обычно в нижней строке.

Добавлено через 26 минут
Кстати обычно подход к построению видовой матрицы абсолютно другой. Берут фрейм камеры, ось Z в качестве направления взгляда ось Y в качестве оси UP и строят LookAt матрицу. Т.е. фактически транспонируют подматрицу поворота (3x3) и вычисляют координаты ГСК в координатах фрейма, домножают на -1 и пишут в строку позиции.
Примерно вот так:
C++
1
2
3
4
5
6
7
8
9
10
        T3DUniformMatrix T3DUniformMatrix::GetViewMatrix(){
                T3DUniformMatrix R;
        R.AxeX.x = AxeX.x; R.AxeX.x = AxeY.x; R.AxeX.z = AxeZ.x; R.kx= 0;
        R.AxeY.x = AxeX.y; R.AxeY.y  = AxeY.y; R.AxeY.z = AxeZ.y; R.ky= 0;
        R.AxeZ.x = AxeX.z; R.AxeZ.z = AxeY.z; R.AxeZ.z = AxeZ.z; R.kz= 0;
    
            R.x = -(Eye*AxeX); R.y = -(Eye*Y);  R.z = -(Eye*Z); R.w = 1.0f;
        return R;
 
        }
Добавлено через 13 минут
Цитата Сообщение от Pro100Tom Посмотреть сообщение
что во view матрице
View матрица неправильно сформирована. эта -15 насколько понимаю должна быть в z. (т.е. в элементе [3][2]). Если конечно ползуешь Row Major матрицы. Если Column Major их надо перемножать в обратном порядке.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.