Initial commit
This commit is contained in:
39
Torque/SDK/engine/util/frustrumCuller.h
Normal file
39
Torque/SDK/engine/util/frustrumCuller.h
Normal file
@@ -0,0 +1,39 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// Torque Shader Engine
|
||||
// Copyright (C) GarageGames.com, Inc.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _FRUSTRUMCULLER_H_
|
||||
#define _FRUSTRUMCULLER_H_
|
||||
|
||||
#include "math/mBox.h"
|
||||
#include "sceneGraph/sceneState.h"
|
||||
|
||||
namespace FrustrumCuller
|
||||
{
|
||||
enum
|
||||
{
|
||||
/// We need to store at least 4 clip planes (sides of view frustrum).
|
||||
MaxClipPlanes = 5,
|
||||
|
||||
// Clipping related flags...
|
||||
ClipPlaneMask = BIT(MaxClipPlanes) - 1,
|
||||
FarSphereMask = BIT(MaxClipPlanes + 1),
|
||||
FogPlaneBoxMask = BIT(MaxClipPlanes + 2),
|
||||
|
||||
AllClipPlanes = ClipPlaneMask | FarSphereMask,
|
||||
|
||||
};
|
||||
|
||||
extern SceneState *smSceneState;
|
||||
extern Point3F smCamPos;
|
||||
extern F32 smFarDistance;
|
||||
extern U32 smNumClipPlanes;
|
||||
extern PlaneF smClipPlane[MaxClipPlanes];
|
||||
|
||||
void init(SceneState *state);
|
||||
S32 testBoxVisibility(const Box3F &bounds, const S32 mask, const F32 expand);
|
||||
F32 getBoxDistance(const Box3F &box);
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user