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">
//=============================================================================
// Camera.h by Frank Luna (C) 2004 All Rights Reserved.
//=============================================================================
ifndef CAMERA_H
define CAMERA_H
include <d3dx9.h>
include <d3dUtil.h>
// Forward declaration.
class Terrain;
<h4 align=right text=red> Camera</h4><hr>
class Camera
{
public:
Camera();
const D3DXMATRIX& view() const;
const D3DXMATRIX& proj() const;
const D3DXMATRIX& viewProj() const;
const D3DXVECTOR3& right() const;
const D3DXVECTOR3& up() const;
const D3DXVECTOR3& look() const;
D3DXVECTOR3& pos();
void lookAt(D3DXVECTOR3& pos, D3DXVECTOR3& target, D3DXVECTOR3& up);
void setLens(float fov, float aspect, float nearZ, float farZ);
void setSpeed(float s);
// Box coordinates should be relative to world space.
bool isVisible(const AABB& box)const;
void update(float dt, Terrain* terrain, float offsetHeight);
protected:
void buildView();
void buildWorldFrustumPlanes();
protected:
D3DXMATRIX mView;
D3DXMATRIX mProj;
D3DXMATRIX mViewProj;
// Relative to world space.
D3DXVECTOR3 mPosW;
D3DXVECTOR3 mRightW;
D3DXVECTOR3 mUpW;
D3DXVECTOR3 mLookW;
float mSpeed;
// Frustum Planes
D3DXPLANE mFrustumPlanes[6]; // [0] = near
// [1] = far
// [2] = left
// [3] = right
// [4] = top
// [5] = bottom
};<hr>
endif // CAMERA_H
<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>