亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? camera.cpp

?? Introduction to directx9 3d game programming 一書的源代碼
?? CPP
字號:
//////////////////////////////////////////////////////////////////////////////////////////////////
// 
// File: camera.cpp
// 
// Author: Frank Luna (C) All Rights Reserved
//
// System: AMD Athlon 1800+ XP, 512 DDR, Geforce 3, Windows XP, MSVC++ 7.0 
//
// Desc: Defines a camera's position and orientation.
//         
//////////////////////////////////////////////////////////////////////////////////////////////////

#include "camera.h"

Camera::Camera()
{
	_cameraType = AIRCRAFT;

	_pos   = D3DXVECTOR3(0.0f, 0.0f, 0.0f);
	_right = D3DXVECTOR3(1.0f, 0.0f, 0.0f);
	_up    = D3DXVECTOR3(0.0f, 1.0f, 0.0f);
	_look  = D3DXVECTOR3(0.0f, 0.0f, 1.0f);
}

Camera::Camera(CameraType cameraType)
{
	_cameraType = cameraType;

	_pos   = D3DXVECTOR3(0.0f, 0.0f, 0.0f);
	_right = D3DXVECTOR3(1.0f, 0.0f, 0.0f);
	_up    = D3DXVECTOR3(0.0f, 1.0f, 0.0f);
	_look  = D3DXVECTOR3(0.0f, 0.0f, 1.0f);
}

Camera::~Camera()
{

}

void Camera::getPosition(D3DXVECTOR3* pos)
{
	*pos = _pos;
}

void Camera::setPosition(D3DXVECTOR3* pos)
{
	_pos = *pos;
}

void Camera::getRight(D3DXVECTOR3* right)
{
	*right = _right;
}

void Camera::getUp(D3DXVECTOR3* up)
{
	*up = _up;
}

void Camera::getLook(D3DXVECTOR3* look)
{
	*look = _look;
}

void Camera::walk(float units)
{
	// move only on xz plane for land object
	if( _cameraType == LANDOBJECT )
		_pos += D3DXVECTOR3(_look.x, 0.0f, _look.z) * units;

	if( _cameraType == AIRCRAFT )
		_pos += _look * units;
}

void Camera::strafe(float units)
{
	// move only on xz plane for land object
	if( _cameraType == LANDOBJECT )
		_pos += D3DXVECTOR3(_right.x, 0.0f, _right.z) * units;

	if( _cameraType == AIRCRAFT )
		_pos += _right * units;
}

void Camera::fly(float units)
{
	// move only on y-axis for land object
	if( _cameraType == LANDOBJECT )
		_pos.y += units;

	if( _cameraType == AIRCRAFT )
		_pos += _up * units;
}

void Camera::pitch(float angle)
{
	D3DXMATRIX T;
	D3DXMatrixRotationAxis(&T, &_right,	angle);

	// rotate _up and _look around _right vector
	D3DXVec3TransformCoord(&_up,&_up, &T);
	D3DXVec3TransformCoord(&_look,&_look, &T);
}

void Camera::yaw(float angle)
{
	D3DXMATRIX T;

	// rotate around world y (0, 1, 0) always for land object
	if( _cameraType == LANDOBJECT )
		D3DXMatrixRotationY(&T, angle);

	// rotate around own up vector for aircraft
	if( _cameraType == AIRCRAFT )
		D3DXMatrixRotationAxis(&T, &_up, angle);

	// rotate _right and _look around _up or y-axis
	D3DXVec3TransformCoord(&_right,&_right, &T);
	D3DXVec3TransformCoord(&_look,&_look, &T);
}

void Camera::roll(float angle)
{
	// only roll for aircraft type
	if( _cameraType == AIRCRAFT )
	{
		D3DXMATRIX T;
		D3DXMatrixRotationAxis(&T, &_look,	angle);

		// rotate _up and _right around _look vector
		D3DXVec3TransformCoord(&_right,&_right, &T);
		D3DXVec3TransformCoord(&_up,&_up, &T);
	}
}

void Camera::getViewMatrix(D3DXMATRIX* V)
{
	// Keep camera's axes orthogonal to eachother
	D3DXVec3Normalize(&_look, &_look);

	D3DXVec3Cross(&_up, &_look, &_right);
	D3DXVec3Normalize(&_up, &_up);

	D3DXVec3Cross(&_right, &_up, &_look);
	D3DXVec3Normalize(&_right, &_right);

	// Build the view matrix:
	float x = -D3DXVec3Dot(&_right, &_pos);
	float y = -D3DXVec3Dot(&_up, &_pos);
	float z = -D3DXVec3Dot(&_look, &_pos);

	(*V)(0,0) = _right.x; (*V)(0, 1) = _up.x; (*V)(0, 2) = _look.x; (*V)(0, 3) = 0.0f;
	(*V)(1,0) = _right.y; (*V)(1, 1) = _up.y; (*V)(1, 2) = _look.y; (*V)(1, 3) = 0.0f;
	(*V)(2,0) = _right.z; (*V)(2, 1) = _up.z; (*V)(2, 2) = _look.z; (*V)(2, 3) = 0.0f;
	(*V)(3,0) = x;        (*V)(3, 1) = y;     (*V)(3, 2) = z;       (*V)(3, 3) = 1.0f;
}

void Camera::setCameraType(CameraType cameraType)
{
	_cameraType = cameraType;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩你懂的| 91国在线观看| 美女网站色91| 麻豆精品新av中文字幕| 日韩av在线播放中文字幕| 日韩不卡一区二区| 麻豆精品视频在线观看| 久久av老司机精品网站导航| 国产在线精品一区二区夜色| 国产精品一二三区| 成人免费三级在线| av激情成人网| 欧美性猛交xxxxxx富婆| 欧美精品久久久久久久久老牛影院 | 久久亚洲精品国产精品紫薇| 欧美sm美女调教| 久久综合久久综合九色| 欧美极品aⅴ影院| 亚洲激情图片qvod| 日本欧洲一区二区| 成人免费电影视频| 91福利在线看| 久久综合九色综合97_久久久| 国产日韩欧美在线一区| 伊人性伊人情综合网| 麻豆高清免费国产一区| av网站免费线看精品| 欧美日韩成人一区| 国产偷v国产偷v亚洲高清| 1000部国产精品成人观看| 亚洲国产综合色| 粉嫩av一区二区三区在线播放| 色94色欧美sute亚洲线路二| 日韩午夜精品视频| 国产精品美女www爽爽爽| 亚洲亚洲人成综合网络| 狠狠色丁香婷婷综合久久片| 欧美性猛交xxxx乱大交退制版 | 精品一区二区三区免费| 成人av影视在线观看| 欧美疯狂做受xxxx富婆| 国产精品福利电影一区二区三区四区| 亚洲影视在线观看| 国产一区二区三区综合| 欧美日韩国产另类一区| 国产精品私人自拍| 精品亚洲porn| 91麻豆精品91久久久久久清纯| 日本一区二区视频在线| 久久99精品国产麻豆婷婷洗澡| 日本韩国一区二区| 中文乱码免费一区二区| 久久99蜜桃精品| 51精品视频一区二区三区| 国产精品欧美久久久久无广告 | 日韩av不卡一区二区| 91色.com| 国产精品国产三级国产专播品爱网 | 亚洲国产另类精品专区| 成人黄色电影在线| 久久综合资源网| 轻轻草成人在线| 欧美日韩高清影院| 樱桃视频在线观看一区| 93久久精品日日躁夜夜躁欧美| 国产欧美日韩精品a在线观看| 麻豆成人91精品二区三区| 欧美男生操女生| 午夜欧美在线一二页| 欧美性感一区二区三区| 亚洲宅男天堂在线观看无病毒| 成人国产视频在线观看| 国产精品午夜在线观看| 豆国产96在线|亚洲| 欧美国产日产图区| 高清av一区二区| 国产精品美女久久久久高潮| 菠萝蜜视频在线观看一区| 国产精品久久久久影院| 99麻豆久久久国产精品免费| 国产精品久久毛片a| 色综合天天性综合| 亚洲欧美日韩一区| 欧美在线综合视频| 视频一区欧美日韩| 日韩一区二区高清| 国产乱对白刺激视频不卡| 国产亚洲综合在线| 成人av在线资源网| 一个色综合av| 欧美一区二区人人喊爽| 精品在线观看免费| 久久奇米777| 99视频一区二区三区| 一区二区三区不卡在线观看| 欧美日韩另类国产亚洲欧美一级| 肉色丝袜一区二区| 日韩精品一区二区三区中文精品| 国产精品一区在线| 一区二区三区毛片| 欧美mv日韩mv亚洲| 成人免费高清视频在线观看| 亚洲chinese男男1069| 欧美妇女性影城| 国产精品1024久久| 亚洲综合色噜噜狠狠| 精品粉嫩超白一线天av| 99久久亚洲一区二区三区青草| 亚洲18女电影在线观看| 久久精品人人爽人人爽| 欧美日韩美女一区二区| 国产自产高清不卡| 亚洲午夜在线视频| 久久久亚洲午夜电影| 欧美视频精品在线观看| 国产一区二区精品久久91| 亚洲一区电影777| 久久久久久久久99精品| 欧美日韩一区三区| 成人动漫精品一区二区| 日产精品久久久久久久性色| 亚洲嫩草精品久久| 久久日一线二线三线suv| 在线亚洲免费视频| 国产成人精品一区二区三区网站观看| 亚洲乱码中文字幕| 久久久精品天堂| 欧美一级欧美三级| 色婷婷狠狠综合| 国产麻豆成人精品| 婷婷六月综合网| 亚洲男人都懂的| 国产精品乱人伦| 国产亚洲成年网址在线观看| 欧美成人a在线| 6080午夜不卡| 欧美精品777| 在线观看成人免费视频| 国产999精品久久| 久久成人羞羞网站| 美女在线一区二区| 蜜臀91精品一区二区三区| 午夜精品在线看| 亚洲高清免费观看| 亚洲国产美女搞黄色| 亚洲黄色在线视频| 亚洲裸体在线观看| 最新国产の精品合集bt伙计| 欧美国产成人在线| 国产精品久久久久久久久果冻传媒 | 在线不卡中文字幕| 欧美日韩美少妇| 欧美精品黑人性xxxx| 色婷婷久久综合| 色综合久久天天| 色综合久久中文综合久久牛| 色综合天天综合| 欧美在线一区二区| 欧美片网站yy| 91精品国产黑色紧身裤美女| 日韩欧美国产综合| 久久九九全国免费| 国产精品免费人成网站| 亚洲免费视频中文字幕| 日韩理论在线观看| 亚洲午夜av在线| 蜜桃视频在线一区| 国产一区二区网址| 97国产精品videossex| 91精彩视频在线| 欧美性大战久久久| 欧美变态凌虐bdsm| 中文字幕av一区二区三区免费看 | 精品电影一区二区| 国产欧美日韩三级| 亚洲综合小说图片| 蜜臀91精品一区二区三区| 国产成人午夜精品5599| 97久久久精品综合88久久| 欧美久久高跟鞋激| 久久久久久99精品| 综合在线观看色| 国产一区二区三区综合| 成人黄色软件下载| 制服丝袜中文字幕亚洲| 国产视频一区二区在线| 亚洲视频在线观看一区| 蜜臀精品久久久久久蜜臀| 高潮精品一区videoshd| 欧美精品三级日韩久久| 国产精品女上位| 午夜av一区二区三区| 成人一级视频在线观看| 欧美精品日韩一本| 亚洲欧洲性图库| 国产在线精品一区二区不卡了 | 三级久久三级久久| av一区二区三区黑人| 91精品国产91久久综合桃花| 亚洲丝袜美腿综合|