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

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

?? camera.cpp

?? 《Introduction to 3D Game Progamming with DirectX9.0》 中文版 超級好的DX書 由翁云兵翻譯 很難找到
?? 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)
{
	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一区二区三区免费野_久草精品视频
国产午夜精品福利| 成人综合婷婷国产精品久久| 色婷婷激情久久| 亚洲视频一区二区在线观看| 92精品国产成人观看免费| 亚洲色图19p| 色欲综合视频天天天| 亚洲va欧美va人人爽午夜| 欧美日韩美少妇| 另类小说综合欧美亚洲| 精品免费一区二区三区| 成人免费看视频| 亚洲美女免费在线| 欧美一区二区在线观看| 精品一二三四在线| 国产精品色婷婷久久58| 色综合天天综合色综合av| 亚洲自拍另类综合| 欧美成人女星排名| 成人av在线一区二区| 亚洲综合清纯丝袜自拍| 欧美一区二区在线视频| 国产98色在线|日韩| 亚洲女性喷水在线观看一区| 91精品国产色综合久久ai换脸| 久久精品99国产精品| 国产精品色噜噜| 欧美日韩高清一区| 国产经典欧美精品| 亚洲精品久久久蜜桃| 日韩免费视频线观看| 成人午夜精品在线| 日本亚洲欧美天堂免费| 国产精品久久久久久久久搜平片 | 成人av午夜影院| 亚洲主播在线播放| 久久久久久一二三区| 欧美午夜影院一区| 国产在线日韩欧美| 亚洲成人免费电影| 中文字幕av在线一区二区三区| 欧美三级电影在线看| 国产99久久久国产精品免费看 | 婷婷亚洲久悠悠色悠在线播放| 久久午夜色播影院免费高清 | 日本在线不卡视频| 亚洲欧洲另类国产综合| 日韩免费电影一区| 欧美色中文字幕| 不卡av免费在线观看| 久久99精品久久久久婷婷| 一区二区三区成人| 国产精品日日摸夜夜摸av| 日韩精品专区在线影院重磅| 色哟哟一区二区在线观看| 风流少妇一区二区| 久久精品国产99久久6| 亚洲国产一区二区三区| 国产精品传媒视频| 2023国产精品视频| 日韩视频一区在线观看| 欧美三级乱人伦电影| 91免费视频网| 国v精品久久久网| 国产精品一区三区| 久久99精品久久久久久国产越南| 亚洲 欧美综合在线网络| 亚洲人成网站色在线观看| 中文字幕久久午夜不卡| 国产网站一区二区| 久久免费国产精品| 国产午夜精品久久久久久久 | 91在线免费视频观看| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 日韩三区在线观看| 91精品国产色综合久久| 91精品婷婷国产综合久久| 欧美色视频在线| 欧美日韩午夜精品| 欧美性色欧美a在线播放| 99久久国产综合精品女不卡| 不卡在线视频中文字幕| 国产黑丝在线一区二区三区| 国产在线麻豆精品观看| 国产激情一区二区三区桃花岛亚洲| 韩国一区二区三区| 国产精品一区专区| 成人教育av在线| 91蝌蚪porny成人天涯| 色呦呦网站一区| 欧美人妖巨大在线| 欧美一级在线免费| 日韩美女一区二区三区| 精品第一国产综合精品aⅴ| 国产午夜精品久久| 一区二区三区日本| 偷偷要91色婷婷| 久草热8精品视频在线观看| 国产在线一区观看| 不卡视频在线观看| 精品视频在线视频| 日韩精品一区二区三区中文精品 | 91精品免费观看| wwwwxxxxx欧美| 一色桃子久久精品亚洲| 亚洲电影一区二区| 国模无码大尺度一区二区三区| 国产精品1区2区3区在线观看| 成人精品高清在线| 精品污污网站免费看| 久久综合色8888| 国产精品久久久久影院色老大| 亚洲国产精品一区二区久久恐怖片| 日韩精品三区四区| 国产成人精品免费视频网站| 91社区在线播放| 日韩一区二区在线观看视频| 国产精品久久综合| 肉色丝袜一区二区| 成人午夜av在线| 欧美日高清视频| 国产精品午夜在线观看| 午夜伦欧美伦电影理论片| 国产毛片精品一区| 在线观看亚洲一区| 久久综合成人精品亚洲另类欧美| 亚洲桃色在线一区| 国产老肥熟一区二区三区| 欧美性xxxxx极品少妇| 久久夜色精品国产欧美乱极品| 亚洲精品视频在线| 韩国v欧美v亚洲v日本v| 在线精品视频小说1| 亚洲国产精品99久久久久久久久 | 在线观看日产精品| 欧美激情一区三区| 免费欧美在线视频| 色狠狠一区二区三区香蕉| 久久香蕉国产线看观看99| 亚洲国产精品久久艾草纯爱| 国产成人超碰人人澡人人澡| 欧美顶级少妇做爰| 亚洲综合激情另类小说区| 国产99久久久国产精品| 精品日韩在线观看| 午夜视频一区在线观看| 一本在线高清不卡dvd| 国产午夜精品久久久久久免费视| 免费人成黄页网站在线一区二区| 日本二三区不卡| 国产精品久久久久婷婷二区次| 精品午夜久久福利影院 | 久久久蜜桃精品| 久久国产精品第一页| 欧美日韩亚洲不卡| 亚洲自拍另类综合| 在线影院国内精品| 亚洲黄色小视频| 91视视频在线观看入口直接观看www | 久久久久久久久97黄色工厂| 日本成人在线电影网| 欧美日韩电影在线| 亚洲大片在线观看| 欧美日韩视频在线第一区 | 欧美日韩一本到| 一区二区三区日韩精品| 日本久久精品电影| 亚洲午夜视频在线观看| 欧美在线观看你懂的| 一区二区三区在线影院| 91国偷自产一区二区三区成为亚洲经典| 国产欧美一区二区精品忘忧草| 国产麻豆一精品一av一免费| 国产亚洲欧美中文| 国产精品白丝av| 久久精品视频免费观看| 国产一区二区三区免费播放| 精品处破学生在线二十三| 国产一区二区调教| 精品99999| 久久se这里有精品| 日韩一区二区电影| 日韩不卡一区二区三区| 欧美精品自拍偷拍动漫精品| 久久一二三国产| 婷婷综合五月天| 91精品国产乱| 国产传媒一区在线| 国产欧美精品一区二区色综合| 国产精品综合视频| 亚洲欧美激情一区二区| 色婷婷av一区二区三区大白胸| 亚洲免费av在线| 777xxx欧美| 国产在线精品一区在线观看麻豆| 日韩精品综合一本久道在线视频| 国产成人亚洲综合a∨婷婷| 国产色一区二区| 成年人国产精品| **欧美大码日韩|