資源簡介
地形生成程序 地形渲染DEMO LOD 合適初學者

代碼片段和文件信息
#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)(00)?=?_right.x;?(*V)(0?1)?=?_up.x
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????3389??2007-01-06?19:13??地形渲染DEMO\代碼\Camera.cpp
?????文件???????1088??2007-01-07?20:54??地形渲染DEMO\代碼\Camera.h
?????文件???????3516??2007-01-07?22:14??地形渲染DEMO\代碼\CameraControl.cpp
?????文件???????1074??2007-01-07?20:54??地形渲染DEMO\代碼\CameraControl.h
?????文件??????????0??2000-11-04?09:44??地形渲染DEMO\代碼\Common.cpp
?????文件????????396??2007-01-07?20:54??地形渲染DEMO\代碼\Common.h
?????文件????1048576??2004-05-31?14:57??地形渲染DEMO\代碼\data\heightMap\3.raw
?????文件?????393778??2006-11-29?17:20??地形渲染DEMO\代碼\data\Texture\sky\skybox1.BMP
?????文件?????394806??2006-11-29?17:23??地形渲染DEMO\代碼\data\Texture\sky\skybox2.BMP
?????文件?????392246??2006-11-29?17:21??地形渲染DEMO\代碼\data\Texture\sky\skybox3.BMP
?????文件?????390714??2006-11-29?17:24??地形渲染DEMO\代碼\data\Texture\sky\skybox4.BMP
?????文件?????786486??2006-11-29?17:22??地形渲染DEMO\代碼\data\Texture\sky\skybox5.BMP
????..A.SH.?????17408??2007-01-08?10:40??地形渲染DEMO\代碼\data\Texture\sky\Thumbs.db
?????文件?????787022??2002-06-19?08:37??地形渲染DEMO\代碼\data\Texture\terrain\detailMap.tga
?????文件?????174904??2006-04-18?05:22??地形渲染DEMO\代碼\data\Texture\terrain\rock.dds
?????文件?????196662??2006-12-01?18:47??地形渲染DEMO\代碼\data\Texture\terrain\terrain1.tga
?????文件?????197430??2002-06-19?08:37??地形渲染DEMO\代碼\data\Texture\terrain\terrain2.tga
?????文件?????197659??2002-06-19?08:37??地形渲染DEMO\代碼\data\Texture\terrain\terrain3.tga
????..A.SH.??????5632??2007-01-07?22:22??地形渲染DEMO\代碼\data\Texture\terrain\Thumbs.db
????..A.SH.?????12800??2007-01-07?22:22??地形渲染DEMO\代碼\data\Texture\Thumbs.db
?????文件???????2384??2007-01-06?22:52??地形渲染DEMO\代碼\Font.cpp
?????文件????????969??2007-01-07?20:54??地形渲染DEMO\代碼\Font.h
?????文件??????69632??2007-04-27?08:12??地形渲染DEMO\代碼\Ground.exe
?????文件????2362368??2007-05-22?11:44??地形渲染DEMO\代碼\Ground.ncb
?????文件????????901??2006-11-20?23:11??地形渲染DEMO\代碼\Ground.sln
????..A..H.?????19968??2007-05-22?11:44??地形渲染DEMO\代碼\Ground.suo
?????文件???????4195??2007-01-06?22:52??地形渲染DEMO\代碼\Ground.vcproj
?????文件??????10481??2007-01-07?22:35??地形渲染DEMO\代碼\main.cpp
?????文件???????6230??2007-01-07?20:08??地形渲染DEMO\代碼\SkyBox.cpp
?????文件???????1309??2007-01-07?20:08??地形渲染DEMO\代碼\SkyBox.h
............此處省略38個文件信息
- 上一篇:live555Camera攝像頭直播
- 下一篇:TTS文字變語音朗讀DEMO
評論
共有 條評論