人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

次のコードを解説してください。
void viewOrthoFixed() {
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
glOrtho(0, 640, 480, 0, -1, 1);
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
}
void viewPerspective() {
glMatrixMode(GL_PROJECTION);
glPopMatrix();
glMatrixMode(GL_MODELVIEW);
glPopMatrix();
}

こう使います。

// この時点ではパースペクティブモード
viewOrthoFixed();
ほげほげ
viewPerspective();

※何をやるのかは分かるんですが、どうしてこうやるのかが分かりません…

●質問者: k_ahiru
●カテゴリ:コンピュータ
✍キーワード:void ほげほげ コード パースペクティブ モード
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● informalattract
●24ポイント

http://www.hatena.ne.jp/

はてな

OpenGLのプログラムのようですね。

はずした回答になるかも知れませんが

私も3次元描画のプログラムを少しだけ勉強して挫折したことがありますが(非OpenGL)、

3次元描画で「何をやっているのか?」を理解したいの場合、「行列」に関する数学の知識が必要になるようです。

参考サイト:

http://wisdom.sakura.ne.jp/system/directx/dxg7.html

座標と行列

http://www.ke.ics.saitama-u.ac.jp/kondo/Geomap/CADCGHTML/Chap4/C...

具体的なOpenGLの関数に関してはこのへんにサンプルと解説があるようです。

http://miso.ice.ous.ac.jp/~oka/opengl/section04.html

http://www.nakadai.com/~nakadai/opengl/beginner2/ogl.html

http://www.is.oit.ac.jp/~whashimo/server/~whashimo/Article/OpenG...

◎質問者からの返答

m(_ _)m

# でもコードの解説じゃないですよね?

コードの解説をしてくれる方キボー


2 ● terra5
●26ポイント

http://www.seshop.com/detail.asp?pid=2730

OpenGLリファレンスマニュアル 第2版:SEshop.com/商品詳細

void viewOrthoFixed() {

glMatrixMode(GL_PROJECTION);// 射影変換行列設定

glPushMatrix();// 現在の射影変換行列を保存

glLoadIdentity();// 単位行列を設定(無変換行列を設定)、pushでは行列は変化しないため

glOrtho(0, 640, 480, 0, -1, 1);// 正射影変換設定(横 0〜640, 縦 480〜0(上が0), 奥行き(手前-1〜奥1)

glMatrixMode(GL_MODELVIEW);// モデルビュー変換行列設定

glPushMatrix();// 現在のモデルビュー行列を保存

glLoadIdentity();// 単位行列を設定(無変換行列を設定)

}

void viewPerspective() {

glMatrixMode(GL_PROJECTION);// 射影変換行列設定

glPopMatrix();// 射影変換行列を復元

glMatrixMode(GL_MODELVIEW);// モデルビュー変換行列設定

glPopMatrix();// モデルビュー行列を復元

}

// 多分、3D表示の設定やら描画やら

// この時点ではパースペクティブモード

viewOrthoFixed(); // 現在の状態を保存し、640x480(VGAサイズ)の座標で描画できるように設定

ほげほげ // 多分2D表示のイメージ

viewPerspective(); // 以前の表示設定に復元

◎質問者からの返答

m(_ _)m

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ