frustum.h
来自「国外网游源码....除工具源码缺少之外,其余程序都全...至于,什么游戏,因为国」· C头文件 代码 · 共 73 行
H
73 行
// Frustum.h: interface for the CFrustum class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_FRUSTUM_H__D7E02EC9_697D_4B1B_8CAB_7C0A92D78B79__INCLUDED_)
#define AFX_FRUSTUM_H__D7E02EC9_697D_4B1B_8CAB_7C0A92D78B79__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define PLANE_EPSILON 5.0f
#define CULL_NONE 0x00
#define CULL_VIEW 0x01
#define CULL_FIRE 0x02
#define CULL_CAM 0x04
#define CULL_ALL 0x07
class CFrustum
{
public:
CFrustum();
virtual ~CFrustum();
public:
BOOL Make( D3DXMATRIXA16* pmatViewProj );
BOOL IsIn( D3DXVECTOR3* pv );
BOOL IsInSphere( D3DXVECTOR3* pv, float radius );
int __fastcall IsInEx( D3DXVECTOR3 pv, int nValue = CULL_ALL );
int __fastcall IsInSphereEx( D3DXVECTOR3 pv, float radius, int nValue = CULL_ALL );
int __fastcall IsInEx2( D3DXVECTOR3 pv, int nValue = CULL_ALL );
//int __fastcall IsInSphereEx2( D3DXVECTOR3 pv, float radius, int nValue = CULL_ALL );
int __fastcall IsFireInEx( D3DXVECTOR3 pv );
int __fastcall IsInFireSphereEx( D3DXVECTOR3 pv, float radius );
BOOL Draw( LPDIRECT3DDEVICE9 pDev );
D3DXVECTOR3* GetPos() { return &m_vPos; }
D3DXVECTOR3* GetFirePos() { return &m_vFirePos; }
protected:
private:
D3DXVECTOR3 CreateFrustum( D3DXVECTOR3 * pVtx, D3DXPLANE * pPlane, D3DXMATRIXA16* pmatViewProj );
private:
D3DXVECTOR3 m_vtx[8];
D3DXVECTOR3 m_vPos;
D3DXPLANE m_plane[6];
D3DXVECTOR3 m_vFireVertex[8];
D3DXVECTOR3 m_vFirePos;
D3DXPLANE m_planeFire[6];
D3DXVECTOR3 m_vCamVertex[8];
D3DXVECTOR3 m_vCamPos;
D3DXPLANE m_planeCam[6];
D3DXMATRIX m_mFireProj;
D3DXMATRIX m_mCamProj;
public:
};
#endif // !defined(AFX_FRUSTUM_H__D7E02EC9_697D_4B1B_8CAB_7C0A92D78B79__INCLUDED_)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?