Initial commit: client source
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
/* Copyright (C) John W. Ratcliff, 2001.
|
||||
* All rights reserved worldwide.
|
||||
*
|
||||
* This software is provided "as is" without express or implied
|
||||
* warranties. You may freely copy and compile this source into
|
||||
* applications you distribute provided that the copyright text
|
||||
* below is included in the resulting source code, for example:
|
||||
* "Portions Copyright (C) John W. Ratcliff, 2001"
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
/***********************************************************************/
|
||||
/** FRUSTUM.H : Represents a clipping frustum. */
|
||||
/** You should replace this with your own more robust */
|
||||
/** view frustum clipper. */
|
||||
/** */
|
||||
/** Written by John W. Ratcliff jratcliff@att.net */
|
||||
/***********************************************************************/
|
||||
|
||||
#include "vector.h"
|
||||
|
||||
enum ViewState
|
||||
{
|
||||
VS_INSIDE, // completely inside the frustum.
|
||||
VS_PARTIAL, // partially inside and partially outside the frustum.
|
||||
VS_OUTSIDE // completely outside the frustum
|
||||
};
|
||||
|
||||
class Frustum
|
||||
{
|
||||
public:
|
||||
void BuildViewFrustum(D3DXMATRIX & mat);
|
||||
void BuildViewFrustum2(D3DXMATRIX & mat, float fNear, float fFar, float fFov, float fAspect, const D3DXVECTOR3 & vCamera, const D3DXVECTOR3 & vLook);
|
||||
ViewState ViewVolumeTest(const Vector3d &c_v3Center,const float c_fRadius) const;
|
||||
|
||||
private:
|
||||
bool m_bUsingSphere;
|
||||
D3DXVECTOR3 m_v3Center;
|
||||
float m_fRadius;
|
||||
D3DXPLANE m_plane[6];
|
||||
};
|
||||
Reference in New Issue
Block a user