OpenGLでのプログラミングについて質問です
http://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html#7.2
上記URLのソースについて幾つか質問です。
1.以下の用に記述すると、何故以前のラバーバンドを消去することになるのでしょうか?
if (rubberband) {
/* 以前のラバーバンドを消す */
glVertex2iv(point[pointnum - 1]);
glVertex2iv(savepoint);
}
2.以下の部分の、staticはどういう役割をしているのでしょうか?
void motion(int x, int y)
{
static GLint savepoint[2]; /* 以前のラバーバンドの端点 */
3.メインは、以下のように記述されているのですが、OpenGLは通常のCプログラミングと違い、上から下に順次処理されて行っているだけでなく、見えない部分でも何か処理をやっているようなのですが、どういう順序でこのmainは処理されているのでしょうか?
int main(int argc, char *argv[])
{
glutInitWindowPosition(100, 100);
glutInitWindowSize(320, 240);
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGBA);
glutCreateWindow(argv[0]);
glutDisplayFunc(display);
glutReshapeFunc(resize);
glutMouseFunc(mouse);
glutMotionFunc(motion);
init();
glutMainLoop();
return 0;
}
あと、
http://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html#6.1
に書かれている、
glOrtho(-w / 200.0, w / 200.0, -h / 200.0, h / 200.0, -1.0, 1.0);
という関数の意味がよく分かりません。
どなたか、どれか一つだけでも良いので解答をお願いします。
お礼
いろいろと調べていただき、ありがとうございました。 とっても参考になりました!!