Работаю с WebGL, никаких посторонних библиотек использовать не хочу, так как занимаюсь этим именно для опыта в математике.
У меня получилось построить рабочую Perpective матрицу, а вот с View беда.
this.eye = new Vec3(0,0,0);
this.up = new Vec3(0,1,0);
this.at = new Vec3(0,0,1);
this.lookAt = function(){
var zaxis = new Vec3(this.at.v.x-this.eye.v.x,this.at.v.y-this.eye.v.y,this.at.v.z-this.eye.v.z).normal();
var xaxis = this.up.cross(zaxis).normal();
var yaxis = zaxis.cross(xaxis);
return new Mat4([
xaxis.v.x,yaxis.v.x,zaxis.v.x,0,
xaxis.v.y,yaxis.v.y,zaxis.v.y,0,
xaxis.v.z,yaxis.v.z,zaxis.v.z,0,
-xaxis.dot(this.eye),-yaxis.dot(this.eye),-zaxis.dot(this.eye),1
]);
}
Как мне кажется, все логично, однако на деле работает совсем не так как должно. С чем может быть беда?