#include <BuddhaExampleCamera.h>
Public Member Functions | |
ExampleCamera (void) | |
コンストラクタ | |
virtual | ~ExampleCamera (void) |
デストラクタ | |
void | SetPosition (const Vector3 &pos) |
カメラ座標の設定 | |
void | SetPosition (FLOAT x, FLOAT y, FLOAT z) |
カメラ座標の設定 | |
const Vector3 & | GetPosition (void) const |
カメラ座標の取得 | |
void | SetFOV (FLOAT fov) |
FOVの設定. | |
void | SetAspectRatio (FLOAT ratio) |
アスペクト・レシオの設定 | |
void | SetNearDistance (FLOAT nearDistance) |
ニア・クリップ・ディスタンスの設定 | |
void | SetFarDistance (FLOAT farDistance) |
ファー・クリップ・ディスタンスの設定 | |
void | SetLookAt (const Vector3 &lookAt) |
注視点へカメラを向ける | |
void | SetLookAt (FLOAT x, FLOAT y, FLOAT z) |
注視点へカメラを向ける | |
void | Yaw (FLOAT angle) |
指定角度(ラジアン)にヨー回転 | |
void | Pitch (FLOAT angle) |
指定角度(ラジアン)にピッチ回転 | |
void | Roll (FLOAT angle) |
指定角度(ラジアン)にロール回転 | |
void | Translate (const Vector3 &transVec) |
指定ベクトルの方向へカメラ位置を移動(カメラの姿勢の影響を受ける...ローカル座標) | |
const Matrix & | GetViewMatrix (void) const |
ビューマトリクスの取得 | |
const Matrix & | GetProjectionMatrix (void) const |
プロジェクションマトリクスの取得 | |
Protected Attributes | |
Vector3 | mPosition |
カメラ座標 | |
Quaternion | mOrientation |
カメラの姿勢 | |
FLOAT | mNDistance |
ニア・クリップ・ディスタンス(初期値1.0f) | |
FLOAT | mFDistance |
ファー・クリップ・ディスタンス(初期値1000.0f) | |
FLOAT | mFOV |
フィールド・オブ・ビュー(初期値 45度) | |
FLOAT | mAspectRatio |
アスペクト・レシオ(初期値 1.33) | |
Matrix | mView |
ビューマトリクスのキャッシュ | |
Matrix | mProj |
プロジェクションマトリクスのキャッシュ | |
bool | mOutOfDateViewMatrix |
ビューマトリクスのキャッシュ有/無効フラグ | |
bool | mOutOfDateProjMatrix |
プロジェクションマトリクスのキャッシュ有/無効フラグ | |
BoundingFrustum | mFrustum |
ビューフラスタムのキャッシュ | |
bool | mOutOfDateFrustum |
ビューフラスタムのキャッシュ有/無効フラグ |
カメラ座標と注視点を設定し、二つのマトリクスを取得して使用します。
BuddhaXNAExample::ExampleCamera* pCamera = new BuddhaXNAExample::ExampleCamera(); pCamera->SetPosition(0, 50.0f, 100.0f); pCamera->SetLookAt(0, 0, 0); // パン、ティルトなどは回転で pCamera->pitch((FLOAT)MathHelper::ToRadians(45.0f)); Matrix viewMat = pCamera->GetViewMatrix(); Matrix projMat = pCamera->GetProjectionMatrix();