【コンピュータグラフィックス】OpenGL入門1——最初のOpenGLプログラム
2821 ワード
じっけんかんきょう
統合開発環境:vs or vcキット:GLUT
ステップ
このプログラムの役割は、黒いウィンドウの中央に白い矩形を描くことです.次に、各行の文について説明します.
まず、GLUTを含むヘッダファイルが必要です.
本来OpenGLプログラムにはGL/glが含まれるのが一般的である.hとGL/glu.hですが、GLUTのヘッダファイルには、この2つのファイルが自動的に含まれており、再度含める必要はありません.
それからmain関数を見ます.
int main(int argc,char*argv[])は、コマンドラインパラメータ付きmain関数です.
注意main関数の各文は、最後のreturnを除いてglutで始まる.glutで始まるこの関数はGLUTツールパッケージで提供される関数で、以下で使用するいくつかの関数について説明します.
1、glutInit、GLUTを初期化し、この関数は他のGLUTが使用される前に一度呼び出さなければならない.そのフォーマットは堅苦しいので、一般的にこのglutInit(&argc,argv)を写せばいいです.
2、glutInitDisplayMode、表示方式を設定し、GLUT_RGBはRGB色を用いることを示し、これに対応するGLUT_INDEX(インデックスカラーを使用することを示す).GLUT_SINGLEはシングルバッファを使用していることを示し、それに対応するGLUT_DOUBLE(デュアルバッファ使用).詳細は、Googleをご利用ください.もちろんこれからのチュートリアルにもいくつかの説明があります.
3、glutInitWindowPosition、これは簡単で、画面の中のウィンドウの位置を設定します.
4、glutInitWindowSize、これも簡単で、ウィンドウのサイズを設定します.
5、glutCreateWindow、前に設定した情報に基づいてウィンドウを作成する.パラメータはウィンドウのタイトルとして使用されます.注:ウィンドウが作成されると、すぐに画面に表示されません.ウィンドウを表示するにはglutMainLoopを呼び出す必要があります.
6、glutDisplayFuncは、グラフを描く必要がある場合に呼び出される関数を設定します.△この言い方は正確ではありませんが、正確な言い方は初心者には理解しにくいかもしれません.
7、glutMainLoop、メッセージループを行う.△これは初心者にもよくわからないかもしれませんが、今はこの関数がウィンドウを表示できることを知っていて、ウィンドウが閉じてから戻るのを待つだけで十分です.
glutDisplayFunc関数では、「図面が必要な場合はmyDisplay関数を呼び出してください」を設定しています.そこでmyDisplay関数は図を描くために使われます.myDisplayの3つの関数呼び出しを観察すると、glで始まることがわかります.このglで始まる関数はすべてOpenGLの標準関数であり,以下で用いる関数について説明する.
1、glClear、クリア.GL_COLOR_BUFFER_BITはクリアカラーを表し、glClear関数は他のものをクリアすることもできますが、ここでは説明しません.
2、glRectf、長方形を描きます.4つのパラメータは、対角線上に位置する2つの点の横、縦座標をそれぞれ表します.
3、glFlushは、前のOpenGLコマンドが直ちに実行されることを保証する(バッファで待つのではなく).その役割はfflush(stdout)と似ている.
統合開発環境:vs or vcキット:GLUT
ステップ
VC6.0 。
, Win32 Console Application, 。
, “OpenGL.c”, .c 。
OpenGL :( , , GLUT)
#include
void myDisplay(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glRectf(-0.5f, -0.5f, 0.5f, 0.5f);
glFlush();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition(100, 100);
glutInitWindowSize(400, 400);
glutCreateWindow(" OpenGL ");
glutDisplayFunc(&myDisplay);
glutMainLoop();
return 0;
}
このプログラムの役割は、黒いウィンドウの中央に白い矩形を描くことです.次に、各行の文について説明します.
まず、GLUTを含むヘッダファイルが必要です.
本来OpenGLプログラムにはGL/glが含まれるのが一般的である.hとGL/glu.hですが、GLUTのヘッダファイルには、この2つのファイルが自動的に含まれており、再度含める必要はありません.
それからmain関数を見ます.
int main(int argc,char*argv[])は、コマンドラインパラメータ付きmain関数です.
注意main関数の各文は、最後のreturnを除いてglutで始まる.glutで始まるこの関数はGLUTツールパッケージで提供される関数で、以下で使用するいくつかの関数について説明します.
1、glutInit、GLUTを初期化し、この関数は他のGLUTが使用される前に一度呼び出さなければならない.そのフォーマットは堅苦しいので、一般的にこのglutInit(&argc,argv)を写せばいいです.
2、glutInitDisplayMode、表示方式を設定し、GLUT_RGBはRGB色を用いることを示し、これに対応するGLUT_INDEX(インデックスカラーを使用することを示す).GLUT_SINGLEはシングルバッファを使用していることを示し、それに対応するGLUT_DOUBLE(デュアルバッファ使用).詳細は、Googleをご利用ください.もちろんこれからのチュートリアルにもいくつかの説明があります.
3、glutInitWindowPosition、これは簡単で、画面の中のウィンドウの位置を設定します.
4、glutInitWindowSize、これも簡単で、ウィンドウのサイズを設定します.
5、glutCreateWindow、前に設定した情報に基づいてウィンドウを作成する.パラメータはウィンドウのタイトルとして使用されます.注:ウィンドウが作成されると、すぐに画面に表示されません.ウィンドウを表示するにはglutMainLoopを呼び出す必要があります.
6、glutDisplayFuncは、グラフを描く必要がある場合に呼び出される関数を設定します.△この言い方は正確ではありませんが、正確な言い方は初心者には理解しにくいかもしれません.
7、glutMainLoop、メッセージループを行う.△これは初心者にもよくわからないかもしれませんが、今はこの関数がウィンドウを表示できることを知っていて、ウィンドウが閉じてから戻るのを待つだけで十分です.
glutDisplayFunc関数では、「図面が必要な場合はmyDisplay関数を呼び出してください」を設定しています.そこでmyDisplay関数は図を描くために使われます.myDisplayの3つの関数呼び出しを観察すると、glで始まることがわかります.このglで始まる関数はすべてOpenGLの標準関数であり,以下で用いる関数について説明する.
1、glClear、クリア.GL_COLOR_BUFFER_BITはクリアカラーを表し、glClear関数は他のものをクリアすることもできますが、ここでは説明しません.
2、glRectf、長方形を描きます.4つのパラメータは、対角線上に位置する2つの点の横、縦座標をそれぞれ表します.
3、glFlushは、前のOpenGLコマンドが直ちに実行されることを保証する(バッファで待つのではなく).その役割はfflush(stdout)と似ている.