-
大小: 5.27MB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2024-01-23
- 語言: 其他
- 標(biāo)簽: DirectX??粒子系統(tǒng)??心形線??
資源簡介
粒子系統(tǒng)表示三維計(jì)算機(jī)圖形學(xué)中模擬一些特定的模糊現(xiàn)象的技術(shù),而這些現(xiàn)象用其它傳統(tǒng)的渲染技術(shù)難以實(shí)現(xiàn)的真實(shí)感的 game physics。經(jīng)常使用粒子系統(tǒng)模擬的現(xiàn)象有火、爆炸、煙、水流、火花、落葉、云、霧、雪、塵、流星尾跡或者象發(fā)光軌跡這樣的抽象視覺效果等等。

代碼片段和文件信息
//=============================================================================
//?Camera.cpp?by?Frank?Luna?(C)?2004?All?Rights?Reserved.
//=============================================================================
#include?“Camera.h“
#include?“DirectInput.h“
#include?“d3dUtil.h“
#include?“Terrain.h“
Camera*?gCamera?=?0;
Camera::Camera()
{
D3DXMatrixIdentity(&mView);
D3DXMatrixIdentity(&mProj);
D3DXMatrixIdentity(&mViewProj);
mPosW???=?D3DXVECTOR3(0.0f?0.0f?0.0f);
mRightW?=?D3DXVECTOR3(1.0f?0.0f?0.0f);
mUpW????=?D3DXVECTOR3(0.0f?1.0f?0.0f);
mLookW??=?D3DXVECTOR3(0.0f?0.0f?1.0f);
//?Client?should?adjust?to?a?value?that?makes?sense?for?application‘s
//?unit?scale?and?the?object?the?camera?is?attached?to--e.g.?car?jet
//?human?walking?etc.
mSpeed??=?50.0f;
}
const?D3DXMATRIX&?Camera::view()?const
{
return?mView;
}
const?D3DXMATRIX&?Camera::proj()?const
{
return?mProj;
}
const?D3DXMATRIX&?Camera::viewProj()?const
{
return?mViewProj;
}
const?D3DXVECTOR3&?Camera::right()?const
{
return?mRightW;
}
const?D3DXVECTOR3&?Camera::up()?const
{
return?mUpW;
}
const?D3DXVECTOR3&?Camera::look()?const
{
return?mLookW;
}
D3DXVECTOR3&?Camera::pos()
{
return?mPosW;
}
void?Camera::lookAt(D3DXVECTOR3&?pos?D3DXVECTOR3&?target?D3DXVECTOR3&?up)
{
D3DXVECTOR3?L?=?target?-?pos;
D3DXVec3Normalize(&L?&L);
D3DXVECTOR3?R;
D3DXVec3Cross(&R?&up?&L);
D3DXVec3Normalize(&R?&R);
D3DXVECTOR3?U;
D3DXVec3Cross(&U?&L?&R);
D3DXVec3Normalize(&U?&U);
mPosW???=?pos;
mRightW?=?R;
mUpW????=?U;
mLookW??=?L;
buildView();
buildWorldFrustumPlanes();
mViewProj?=?mView?*?mProj;
}
void?Camera::setLens(float?fov?float?aspect?float?nearZ?float?farZ)
{
D3DXMatrixPerspectiveFovLH(&mProj?fov?aspect?nearZ?farZ);
buildWorldFrustumPlanes();
mViewProj?=?mView?*?mProj;
}
void?Camera::setSpeed(float?s)
{
mSpeed?=?s;
}
bool?Camera::isVisible(const?AABB&?box)const
{
//?Test?assumes?frustum?planes?face?inward.
D3DXVECTOR3?P;
D3DXVECTOR3?Q;
//??????N??*Q????????????????????*P
//??????|?/?????????????????????/
//??????|/?????????????????????/
//?-----/-----?Plane?????-----/-----?Plane????
//?????/?????????????????????/?|
//????/?????????????????????/??|
//???*P????????????????????*Q??N
//
//?PQ?forms?diagonal?most?closely?aligned?with?plane?normal.
//?For?each?frustum?plane?find?the?box?diagonal?(there?are?four?main
//?diagonals?that?intersect?the?box?center?point)?that?points?in?the
//?same?direction?as?the?normal?along?each?axis?(i.e.?the?diagonal?
//?that?is?most?aligned?with?the?plane?normal).??Then?test?if?the?box
//?is?in?front?of?the?plane?or?not.
for(int?i?=?0;?i?6;?++i)
{
//?For?each?coordinate?axis?x?y?z...
for(int?j?=?0;?j?3;?++j)
{
//?Make?PQ?point?in?the?same?direction?as?the?plane?normal?on?this?axis.
if(?mFrustumPlanes[i][j]?>=?0.0f?)
{
P
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件?????591872??2013-12-05?21:18??心形線_粒子(實(shí)驗(yàn)6)\Debug\螺旋狀粒子(實(shí)驗(yàn)6).exe
?????文件????2256728??2013-12-05?21:18??心形線_粒子(實(shí)驗(yàn)6)\Debug\螺旋狀粒子(實(shí)驗(yàn)6).ilk
?????文件????3394560??2013-12-05?21:18??心形線_粒子(實(shí)驗(yàn)6)\Debug\螺旋狀粒子(實(shí)驗(yàn)6).pdb
?????文件?????699192??2005-09-25?11:23??心形線_粒子(實(shí)驗(yàn)6)\螺旋狀粒子(實(shí)驗(yàn)6)\blend_hm1.dds
?????文件???????7336??2005-11-30?23:01??心形線_粒子(實(shí)驗(yàn)6)\螺旋狀粒子(實(shí)驗(yàn)6)\Camera.cpp
?????文件???????1549??2005-11-30?22:58??心形線_粒子(實(shí)驗(yàn)6)\螺旋狀粒子(實(shí)驗(yàn)6)\Camera.h
?????文件??????11264??2005-12-23?13:11??心形線_粒子(實(shí)驗(yàn)6)\螺旋狀粒子(實(shí)驗(yàn)6)\d3dApp.cpp
?????文件???????2309??2005-07-29?12:41??心形線_粒子(實(shí)驗(yàn)6)\螺旋狀粒子(實(shí)驗(yàn)6)\d3dApp.h
?????文件???????5805??2005-10-11?10:31??心形線_粒子(實(shí)驗(yàn)6)\螺旋狀粒子(實(shí)驗(yàn)6)\d3dUtil.cpp
?????文件???????4585??2013-11-20?22:08??心形線_粒子(實(shí)驗(yàn)6)\螺旋狀粒子(實(shí)驗(yàn)6)\d3dUtil.h
?????文件???????8092??2013-12-05?21:18??心形線_粒子(實(shí)驗(yàn)6)\螺旋狀粒子(實(shí)驗(yàn)6)\Debug\BuildLog.htm
?????文件??????94802??2013-12-05?17:17??心形線_粒子(實(shí)驗(yàn)6)\螺旋狀粒子(實(shí)驗(yàn)6)\Debug\Camera.obj
?????文件??????87753??2013-12-05?17:17??心形線_粒子(實(shí)驗(yàn)6)\螺旋狀粒子(實(shí)驗(yàn)6)\Debug\d3dApp.obj
?????文件?????424133??2013-12-05?17:17??心形線_粒子(實(shí)驗(yàn)6)\螺旋狀粒子(實(shí)驗(yàn)6)\Debug\d3dUtil.obj
?????文件??????68611??2013-12-05?17:17??心形線_粒子(實(shí)驗(yàn)6)\螺旋狀粒子(實(shí)驗(yàn)6)\Debug\DirectInput.obj
?????文件?????112142??2013-12-05?21:18??心形線_粒子(實(shí)驗(yàn)6)\螺旋狀粒子(實(shí)驗(yàn)6)\Debug\FireRingDemo.obj
?????文件??????67381??2013-12-05?17:17??心形線_粒子(實(shí)驗(yàn)6)\螺旋狀粒子(實(shí)驗(yàn)6)\Debug\GfxStats.obj
?????文件?????239896??2013-12-05?17:17??心形線_粒子(實(shí)驗(yàn)6)\螺旋狀粒子(實(shí)驗(yàn)6)\Debug\Heightmap.obj
?????文件?????????67??2013-12-05?21:18??心形線_粒子(實(shí)驗(yàn)6)\螺旋狀粒子(實(shí)驗(yàn)6)\Debug\mt.dep
?????文件?????389661??2013-12-05?17:41??心形線_粒子(實(shí)驗(yàn)6)\螺旋狀粒子(實(shí)驗(yàn)6)\Debug\PSystem.obj
?????文件?????468961??2013-12-05?17:17??心形線_粒子(實(shí)驗(yàn)6)\螺旋狀粒子(實(shí)驗(yàn)6)\Debug\Terrain.obj
?????文件?????945152??2013-12-05?21:18??心形線_粒子(實(shí)驗(yàn)6)\螺旋狀粒子(實(shí)驗(yàn)6)\Debug\vc90.idb
?????文件?????659456??2013-12-05?21:18??心形線_粒子(實(shí)驗(yàn)6)\螺旋狀粒子(實(shí)驗(yàn)6)\Debug\vc90.pdb
?????文件??????61799??2013-12-05?17:17??心形線_粒子(實(shí)驗(yàn)6)\螺旋狀粒子(實(shí)驗(yàn)6)\Debug\Vertex.obj
?????文件????????663??2013-12-05?17:17??心形線_粒子(實(shí)驗(yàn)6)\螺旋狀粒子(實(shí)驗(yàn)6)\Debug\螺旋狀粒子(實(shí)驗(yàn)6).exe.em
?????文件????????728??2013-12-05?17:17??心形線_粒子(實(shí)驗(yàn)6)\螺旋狀粒子(實(shí)驗(yàn)6)\Debug\螺旋狀粒子(實(shí)驗(yàn)6).exe.em
?????文件????????621??2013-12-05?21:18??心形線_粒子(實(shí)驗(yàn)6)\螺旋狀粒子(實(shí)驗(yàn)6)\Debug\螺旋狀粒子(實(shí)驗(yàn)6).exe.intermediate.manifest
?????文件???????2267??2005-06-30?19:29??心形線_粒子(實(shí)驗(yàn)6)\螺旋狀粒子(實(shí)驗(yàn)6)\DirectInput.cpp
?????文件???????1143??2005-06-30?22:02??心形線_粒子(實(shí)驗(yàn)6)\螺旋狀粒子(實(shí)驗(yàn)6)\DirectInput.h
?????文件?????131200??2005-09-10?11:18??心形線_粒子(實(shí)驗(yàn)6)\螺旋狀粒子(實(shí)驗(yàn)6)\dirt.dds
............此處省略33個(gè)文件信息
評論
共有 條評論