asaのブログ

プログラミングの勉強まとめ

OpenGLアーキテクチャまとめ1

  OpenGLについて勉強したことをまとめました。こちらの参考文献をしようしています(https://www.opengl.org/archives/resources/code/samples/s2001/notes/opengl.pdf)。

 

 ・OpenGLって何?

 Graphics rendering APIで、WindowシステムやOSに非依存なのが特徴。

 

 ・OpenGLアーキテクチャ

 描画データの流れはCPUからFrame Bufferへと流れています。このフローは2方向あっります。頂点座標をベースとして幾何図形を書く処理を行う場合のパイプラインと、pixelベースの処理を行う場合のパイプラインです。

 つまりOpenGLで扱うものは何かというと点・線・三角形などの幾何図形と画像などのイメージということになります。

 

 ・OpenGLの描画機能

 OpenGLを使って私たちができることは大きく二つしかありません。単純に何かを描くことどのように描くかを変更することしかありません。

 OpneGLで描くことのできるものは先ほど挙げたとおり幾何図形とイメージです。テクスチャマッピングを使用すれば、私たちはこの両方を結合することができます。

 どのように描くかを変更するとは、色を変えたり点や線のサイズを変えたりすることです。

 

 ・関連するAPI

 OpenGLはウィンドウシステムとOSに非依存なので、これらに統合する場合には追加のAPIがしようされます。

 ウィンドウシステム周りでいくとAGL、GLX、WGLがあります。ユーティリティを充実させたAPIにはGLUが存在します。Windowシステムとユーティリティを合わせたAPIにはGLUTがあります。

 

 ・GLUTの基礎

 このGLUT(今はFreeGLUT等が使われますね)を使用してOpenGLを学習します。GLUTの基礎は次の通りです。

  1.  ウィンドウシの設定をして初期化
  2.  OpenGLの初期化
  3.  コールバック関数の登録(イベントが発生したときに動作する関数です)
  4.  メインループの設定

 ウィンドウの設定などは置いておいて、コールバック関数のところだけ先に述べておくと、コールバック関数には最低ウィンドウがリフレッシュされるときに呼ばれるDispayFuncが必要です。

 

 ・次回の予告

 ・基礎を実際にコードで示して確認する

 ・Transformationの巻に移項