FrontPage

概要

  • OpenGLをUbuntu12.04で利用する方法

Tutorial

  • すべてコンパイルは以下のようにする
    g++ [filename].cpp -lglut -lGLU -lGL

display callback

keyboard callback

mouse, motion callback, 視点の設定

モデルビュー行列スタック

アニメーション

Texture

BindTexture?で複数のTextureを切り替え

画像のPixel単位

原理

  • 作業座標系というものが存在する.
  • OpenGLにとってのベース座標系は,カメラ座標系である.これが「モデルビュー座標系」と言われている所以である.本当は分離しても良いが,数学的には全く同じように扱えるという意味.
  • OpenGLは,カメラから見た作業座標系への拡大回転行列Mを内部に保持している.
  • 一方,ロボットなどベース座標系はカメラ座標系ではない,ロボットのベースを利用したい場合は,カメラから見たロボットベース座標系の拡大回転行列が必要である.これは,gluLookAt?みたいな関数を使うことで,Mを計算可能である.Mは,ロボットベースリンクからカメラへの座標変換行列は直感的に計算可能で,これの逆行列を計算することによって求めていると考えれば理解しやすい.つまり,\( M=^C_X H = (^G_C H)^{-1} ^G_X H \)なので.
  • Mに右から拡大回転行列をかけることによって,カメラから見た任意の座標系への拡大回転行列を計算可能である.対応する関数は,glRotatef, glTranslatef, glMultMatrixd?(もっとも一般的,これは列優先行列表記でEigen::Matrix4d::data()をそのまま突っ込めるので便利)など.
  • カメラの向きは,z軸方向,カメラからみたファインダの上方向がy軸正

添付ファイル: filetexbind.cpp 659件 [詳細] filetex_teapot.cpp 703件 [詳細] filerobot_arm.cpp 383件 [詳細] fileplanet.cpp 784件 [詳細] filepixel.cpp 757件 [詳細] filemodelview.cpp 504件 [詳細] filekeyboard_callback.cpp 701件 [詳細] filedisplay_callback.cpp 694件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-01-16 (月) 11:14:38 (2660d)