Помогите, пожалуйста. Кто-нибудь, подскажите, как организовать обзор мышкой в DX на асме. Нигде не могу найти, и у самого уже 4 месяца не могу ничего сообразить
как организовать обзор мышкой в DX на асме ты имеешь в виду, что положение камеры управляется мышкой?
Скока новых юзеров на васме... И все с такими вопросами... Аж неприлично )) sash_ok Скажите пожалста, молодой человек, знакомы ли Вам такие понятия как векторное произведение, а так же поворот вектора вокруг базовых осей?
_DEN_: Знакомы, конечно. Но сколько не пытался, ничего не получается, а туториалов на эту тему тоже не встречал. Вопрос-то ламерский, но всё-таки...
sash_ok Вопрос не просто ламерский... Боюсь бан за мат получить ) Что-то у меня какое-то весеннее обострение ) Ну вот смотри. Давай попробуем порассуждать на уровне детсада. Движение мыши влево-вправо определяет угол поворота вокруг вертикальной оси. Движение мыши вверх-вниз определяет угол поворота вокруг оси, лежащей в горизонтальной плоскости. Какой именно - выбрать по вкусу. Далее поворачиваемся сначала по одному углу относительно одной оси, далее - по другому углу относительно другой оси. Порядок не помню, т.к. пьян и лень думать. В итоге имеем произведение двух матриц поворота. ВСЕ.
sash_ok для управления камерой можно использовать кватернионы. Например, смотри вот эту статью (о кватернионах есть хорошая статья на gamedev.ru). еще посмотри функцию D3DUtil_GetRotationFromCursor и класс CD3DArcBall (\DXSDK\Samples\C++\Common\Src\d3dutil.cpp)
Kozyr__ Человек будет в два раза дольше врубаться что такое кватернионы чем просто выполнить два матричных умножения.
Kozyr__ Нифакт что с кватернионами удобнее. По-любому придется делать два поворота, что с кватернионами, что с матрицами. Вот только результирующий кватернион надо по-любому в конце в матрицу перевести, а это одно лишнее действие.
Всем спасбо. А так, между прочим, не могли бы сказать, как выглядит макрос glcall (tylerdurden OpenGL tutorial) на MASM32?