シンプルな 3D シーンを表す研究プロジェクトがあります。モデル ビュー マトリックスを変更して、原点以外のポイントに視点を移動しgluLookAt()
、ワイヤ球を原点に配置しています。そして最後に、 を使用していくつかのパラメーターを使用して正射影を受け取るように射影行列を変更していますglOrtho()
。しかし、ウィンドウのサイズを変更すると、球が歪んでしまいます。機能を変更する必要があると思いますreshape()
がglOrtho()
、どうすればよいですか?
void display(void){
glClear(GL_COLOR_BUFFER_BIT);
glColor3b(197, 96, 63);
glLoadIdentity();
gluLookAt(2, 0.5 ,2, 0, 0, 0, 0, 1, 0);
glutWireSphere(0.2, 20, 10);
glFlush();
}
void reshape(int w, int h){
glViewport(0, 0, (GLsizei) w, (GLsizei) h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-1, 1, -1, 1, 0.8 , 100);
glMatrixMode(GL_MODELVIEW);
}