行列で泣いたり笑ったり
いままでさんざん苦しまれてきたOpenGLの行列計算。なんかこんな感じのコードになってしまった。
Hardwareを使わないで計算しちゃっているところがダメダメだが、割と良い具合になりました。
まだscaleがないんだけど。
const Vector pitch = camera.pitch(); const float height = pitch.x() * 2000.f; // CONST { GLMatrixYZ mat; mat.rotateY(pitch); mat.translateZ(-height); mat.load(); } { GLMatrixXY mat; mat.translateY(height / 3); mat.rotateYAxis(camera.yaw()); mat.translate(-camera.frameSize() / 2 - camera.adjust() - camera.shake()); mat.apply(); }