The DejaVU Framework --
hush 3.1
-
[up]
[top] -
index
make
include
source
logic
grammar
scripts
html
configure
mx
slides
talks
scenes
reports
projects
<body bgcolor="#FFFFFF" text="#000000">
//=============================================================================
// PSystem.h by Frank Luna (C) 2004 All Rights Reserved.
//=============================================================================
ifndef PSYSTEM_H
define PSYSTEM_H
include <d3dUtil.h>
include <Vertex.h>
include
//===============================================================
<h4 align=right text=red> PSystem</h4><hr>
class PSystem
{
public:
PSystem(
const std::string& fxName,
const std::string& techName,
const std::string& texName,
const D3DXVECTOR3& accel,
const AABB& box,
int maxNumParticles,
float timePerParticle);
virtual ~PSystem();
// Access Methods
float getTime();
void setTime(float t);
const AABB& getAABB()const;
void setWorldMtx(const D3DXMATRIX& world);
void addParticle();
virtual void onLostDevice();
virtual void onResetDevice();
virtual void initParticle(Particle& out) = 0;
virtual void update(float dt);
virtual void draw();
protected:
// In practice, some sort of ID3DXEffect and IDirect3DTexture9 manager should
// be used so that you do not duplicate effects/textures by having several
// instances of a particle system.
ID3DXEffect* mFX;
D3DXHANDLE mhTech;
D3DXHANDLE mhWVP;
D3DXHANDLE mhEyePosL;
D3DXHANDLE mhTex;
D3DXHANDLE mhTime;
D3DXHANDLE mhAccel;
D3DXHANDLE mhViewportHeight;
IDirect3DTexture9* mTex;
IDirect3DVertexBuffer9* mVB;
D3DXMATRIX mWorld;
D3DXMATRIX mInvWorld;
float mTime;
D3DXVECTOR3 mAccel;
AABB mBox;
int mMaxNumParticles;
float mTimePerParticle;
std::vector mParticles;
std::vector mAliveParticles;
std::vector mDeadParticles;
};<hr>
endif // P_SYSTEM
<hr>
<style type="text/css">
div.mainnavigate {
margin: 20px 2px;
/*
background-color: #ffffff;
*/
border: 1px solid black;
}
</style>
<div class=xnavigate>
[]
<black>readme</black>
course(s)
preface
<black>I</black>
1
2
<black>II</black>
3
4
<black>III</black>
5
6
7
<black>IV</black>
8
9
10
<black>V</black>
11
12
afterthought(s)
<black>appendix</black>
reference(s)
example(s)
<black>resource(s)</black>
_
</div>
<hr>
(C) Æliens
20/2/2008
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.
</div>
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-2780434-1";
urchinTracker();
</script>
</body>
</html>
<hr>
<hr>
<table cellpadding=10>
<tr>
<td>
<address>
Hush Online Technology
</address>
hush@cs.vu.nl
<br>04/07/09
</td><td>
</td>
<td></td><td></td><td></td><td></td><td></td><td></td><td></td>
<td>
</td>
</tr>
</table>