Повернуть камеру над центром модели - PullRequest
0 голосов
/ 23 января 2011

У меня есть 2 сетки, выполненные с помощью DirectX 9, и камера, которая смотрит на 0,0,0Одна сетка расположена на 0,0,0, а другая на 5,0,0.Как я могу повернуть камеру на 0,0,0, чтобы всегда смотреть на две сетки, но с новой позиции?Я хотел бы нажать клавиши со стрелками на клавиатуре и иметь возможность вращать камеру

1 Ответ

2 голосов
/ 24 января 2011

Построить матрицу камеры из функции просмотра. Существуют функции d3dx для построения правильной матрицы.

То, что вы хотите сделать, это настроить камеру так, чтобы вы могли позволить ей вращаться вокруг объектов. Скажем, круг радиуса 10 с центром около 2,5,0,0. Я не уверен, вокруг какой оси вы хотите повернуть, но я предполагаю, что z (и x):

// pseudo
cameraposition= vec3(sin(x)*10.0 + 2.5,0,cos(x)*10)
cameralookat= vec3(2.5,0,0)

Подробнее см. http://msdn.microsoft.com/en-us/library/bb397804.aspx

...