| トップ | 読書感想文 | ニュース | Ukki |
OpenGLメモ
Window coordinates (ウィンドウ座標)
Window coordinatesは、OpenGLが最終的な表示につかう座標で、ほぼ画面上の表示領域の座標に等しい。違いは、画面上は通常左上が(0,0)になるのに対し、OpenGLのウィンドウ座標は、左下が(0,0)になる。略さずに言えば、Window screen coordinateともいえる。

ModelView matrix
オブジェクト座標をModelView行列で変換すると、Eye座標になる。

(多分、)ある物体、たとえば三角形などはそのオブジェクト座標で表現できる。これを描画したいシーンの特定の位置に移動させるために使うのがModelView行列。これによって、たとえば三角形が特定の場所にあることが表現できる。

Projection matrix
projection matrixは、eye coordinatesがある平面上にどのように見えるのかを計算するために使う配列。この配列を適用すると、Clip coordinates(クリップ座標)になる。

カメラを覗いて、あるシーンを見ている感じに近い。画面から外は本当は存在していても見えないし、見える角度、見える大きさなどはこれによって決まる。こ



What is a selection buffer?

glSelectBuffer(BUFSIZE, selectBuf);

glRenderMode(GL_SELECT);  // Enter the SELECT render mode
...
glRenderMode(GL_RENDER);  // exit selection mode.  Returns the number of hit records to the selection buffer.

...parse the selection buffer...

gluPickMatrix(...);  // Restrict the view volume to certain size.

Hit record:




glMatrixMode(GL_MODELVIEW);
PaintScreen(GL_SELECT);  // function paint the objects.


gluOrtho2D()


glGetIntegerv(Gl.GL_VIEWPORT, viewport_out)
  viewportに関する情報をviewport_outに取り出す。ビューポートとは、OpenGLの画像が描かれる平面のこと(?)
  glGetIntegervは設定値を取り出すための関数。Get Integer Valueか?
  取り出された情報は、(x, y, w, h)。例えば、(0,0,640,480)

glInitNames()
  glInitNames()はSELECTIONモードでしか意味が無い。
  name stackを初期化する。name stackはSELECTIONモードで、描画コマンドを識別するために使われる。

GL_PROJECTION matrix: eye space coordinates → clip coordinates
GL_MODELVIEW matrix: object space coordinates → eye space coordinates


glOrtho()
Orthographic projectionを選択する。Orthographic projectionは、遠くの物体も近くの物体も同じ大きさに見える投影方法で、三面図などに使われている。
glOrtho(左,右,下,上,近,遠)


Top
Index
Search on Ukki

login