四角形のウィンドウでポリゴンを描画しています。たとえばフルスクリーンでウィンドウのサイズを変更すると、縦横比が乱されます。リファレンスから、私はアスペクト比を保存する1つの方法を見つけました。ここでは、コードは次のとおりです。OpenGL - ウィンドウのサイズ変更時にアスペクト比を維持する
ここvoid reshape (int width, int height) {
float cx, halfWidth = width*0.5f;
float aspect = (float)width/(float)height;
glViewport (0, 0, (GLsizei) width, (GLsizei) height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustum(cx-halfWidth*aspect, cx+halfWidth*aspect, bottom, top, zNear, zFar);
glMatrixMode (GL_MODELVIEW);
}
、CXは、誰かが私はこれを計算することができる方法を説明してもらえば、私は要求XのzNear面のアイスペースセンターです。私はこれがglFrustum()の最初の2つの引数の平均であるべきだと考えています。私は正しい?どんな助けでも大歓迎です。
あなたは何をしたいかによって決まります。アスペクトを保持しない現在の投影行列は何ですか?あなたはGLUTを使用していますか? –
generic ... glFrustum(left、right、bottom、top、near、far)としましょう。 GLUTを使っています。 – Iceman