Хорошо, я читал последние несколько часов, и мне удалось заставить перетаскивание мыши работать на оси x, используя следующие вычисления матрицы, но не повезло с осью y: где newX = new mouse Xord предыдущаяX = мышь X координата в последнем обновленном положении = положение камеры mvMatrix = матрица вида модели или 'матрица мира'
angle = 0.01*(newX-previousX);
rM = mat4.create();
mat4.identity(rM);
rM[0] = Math.cos(angle);
rM[2] = Math.sin(angle);
rM[8] = -Math.sin(angle);
rM[10] = Math.cos(angle);
mat4.multiplyVec3(
rM,
position,
position
)
* Обратите внимание, что здесь используется библиотека glMatrix (http://code.google.com/p/glmatrix/)
А также в порядкевсегда стоять лицом к позиции 0,0,0
mat4.lookAt(
position,
vec3.create([0, 0, 0]),
vec3.create([position[0], position[1]+1, position[2]]),
mvMatrix
);
Я получил матрицу от http://en.wikipedia.org/wiki/Rotation_matrix Я использовал матрицу в разделе «Основные повороты» и Ry
Яуверен, что это было сделано раньше, любая помощь будет оценена.
Ура, Джош