OpenGL学習ノート2:前回書いたコードを見てみましょう


はははは、千呼万喚が出てきて、私たちの第2編のノートは新鮮に出てきました(と言っても間もなくではないでしょうか....)
ほほほ、余谈は多くなくて、私达は前の1篇の私达の书いたコードを见てみて、その然を知っていてもその然を知っていなければなりません
#include 

void display()
{
	glClear( GL_COLOR_BUFFER_BIT);
	glRectf( -1, -1, 1, 1);
	glFinish();
}

int main( int argc, char* argv[])
{
	glutInit( &argc, argv);
	glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE);
	glutInitWindowPosition( 0, 0);
	glutInitWindowSize( 1280, 720);
	glutCreateWindow( " ");
	glutDisplayFunc( &display);
	glutMainLoop();
	return 0;
}

まず最初からファイルから始めましょう、正規のOpenGLは使う時に含むことができます
#include 
#include 

この2つのヘッダーファイルですが、さっき使ったglutライブラリを覚えていますか?glutライブラリには直接この2つのヘッダファイルが含まれているので、glutを含めるだけです.hでいいです.
C言語プログラムについては、まず彼の主関数を見てみましょう.次に、各コードが何を表しているかを見てみましょう.
glutInit( &argc, argv);
初期化、普通はこのように書きました
glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE);
表示の設定、パラメータ

対応マクロ定義
意味
GLUT_RGB
0x0000
RGBカラーモードを指定するウィンドウ
GLUT_RGBA
0x0000
RGBAカラーモードを指定するウィンドウ
GLUT_INDEX
0x0001
カラーインデックスモードを指定するウィンドウ
GLUT_SINGLE
0x0000
単一キャッシュウィンドウの指定
GLUT_DOUBLE
0x0002
デュアルキャッシュウィンドウの指定
GLUT_ACCUM
0x0004
ウィンドウの累積キャッシュの使用
GLUT_ALPHA
0x0008
ウィンドウの色成分にはalpha値が含まれています
GLUT_DEPTH
0x0010
ウィンドウの深度キャッシュの使用
GLUT_STENCIL
0x0020
ウィンドウテンプレートキャッシュの使用
GLUT_MULTISAMPLE
0x0080
多様な本機能をサポートするウィンドウの指定
GLUT_STEREO
0x0100
立体視ウィンドウの指定
GLUT_LUMINANCE
0x0200
ウィンドウで輝度カラーモデルを使用する
glutInitWindowPosition( 0, 0);
ウィンドウがスクリーンのどの位置にあるかを設定し、スクリーンの左上隅が座標の原点になるhttp://write.blog.csdn.net/postedit
glutInitWindowSize( 1280, 720);
ウィンドウサイズの設定
glutCreateWindow( " ");
前の情報に基づいてウィンドウを作成します.入力されたパラメータはウィンドウの名前です(注意、
作成したウィンドウは表示されず、glutMainLoop()を使用している場合にのみ画面に表示されます.
glutDisplayFunc( &display);
図形描画関数を登録します.図形描画が必要な場合、この関数を呼び出します.
glutMainLoop();
glutイベント処理サイクルに入り、イベントに関連するすべての関数を無限にループさせる
glClear( GL_COLOR_BUFFER_BIT);
クリア、ここでクリアカラー
GL_COLOR_BUFFER_BIT:現在書き込み可能なカラーバッファ
GL_DEPTH_BUFFER_BIT:深度バッファ
GL_ACCUM_BUFFER_BIT:累積バッファ
GL_STENCIL_BUFFER_BIT:テンプレートバッファ
glRectf( -1, -1, 1, 1);
長方形を描きます.4つのパラメータは対角線上の2つの点にある横長座標を表します.デフォルトの座標は-1から1です.もちろん、後で変更できます.
glFinish();
は、バッファ内の命令をグラフィックハードウェアに送信し、すべての命令の実行が完了した後に戻るのを待つ(一般的にはopenGLの命令を直ちに実行させ、バッファで待つことはない).
皆さんは注釈を見てOpenGLも思ったほど難しくないのではないでしょうか.ああ、そうだ、もう一つ言い忘れました.glutで始まるのはglutライブラリが提供する関数で、glで始まるのは標準的なopenGL関数で、皆さんは知っていますか.
毎日少しずつ積み重ねて、いつかあなたは大神になります.