diff options
Diffstat (limited to '')
-rw-r--r-- | linden/indra/llmath/llcamera.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/linden/indra/llmath/llcamera.h b/linden/indra/llmath/llcamera.h index 85b93df..8d3ad08 100644 --- a/linden/indra/llmath/llcamera.h +++ b/linden/indra/llmath/llcamera.h | |||
@@ -84,6 +84,17 @@ public: | |||
84 | PLANE_TOP_MASK = (1<<PLANE_TOP), | 84 | PLANE_TOP_MASK = (1<<PLANE_TOP), |
85 | PLANE_ALL_MASK = 0xf | 85 | PLANE_ALL_MASK = 0xf |
86 | }; | 86 | }; |
87 | |||
88 | enum | ||
89 | { | ||
90 | AGENT_PLANE_LEFT = 0, | ||
91 | AGENT_PLANE_RIGHT, | ||
92 | AGENT_PLANE_NEAR, | ||
93 | AGENT_PLANE_BOTTOM, | ||
94 | AGENT_PLANE_TOP, | ||
95 | AGENT_PLANE_FAR, | ||
96 | }; | ||
97 | |||
87 | enum { | 98 | enum { |
88 | HORIZ_PLANE_LEFT = 0, | 99 | HORIZ_PLANE_LEFT = 0, |
89 | HORIZ_PLANE_RIGHT = 1, | 100 | HORIZ_PLANE_RIGHT = 1, |
@@ -123,7 +134,8 @@ private: | |||
123 | public: | 134 | public: |
124 | LLVector3 mAgentFrustum[8]; //8 corners of 6-plane frustum | 135 | LLVector3 mAgentFrustum[8]; //8 corners of 6-plane frustum |
125 | F32 mFrustumCornerDist; //distance to corner of frustum against far clip plane | 136 | F32 mFrustumCornerDist; //distance to corner of frustum against far clip plane |
126 | 137 | LLPlane getAgentPlane(U32 idx) { return mAgentPlanes[idx].p; } | |
138 | |||
127 | public: | 139 | public: |
128 | LLCamera(); | 140 | LLCamera(); |
129 | LLCamera(F32 vertical_fov_rads, F32 aspect_ratio, S32 view_height_in_pixels, F32 near_plane, F32 far_plane); | 141 | LLCamera(F32 vertical_fov_rads, F32 aspect_ratio, S32 view_height_in_pixels, F32 near_plane, F32 far_plane); |
@@ -170,6 +182,8 @@ public: | |||
170 | // Return number of bytes copied. | 182 | // Return number of bytes copied. |
171 | size_t readFrustumFromBuffer(const char *buffer); | 183 | size_t readFrustumFromBuffer(const char *buffer); |
172 | void calcAgentFrustumPlanes(LLVector3* frust); | 184 | void calcAgentFrustumPlanes(LLVector3* frust); |
185 | void ignoreAgentFrustumPlane(S32 idx); | ||
186 | |||
173 | // Returns 1 if partly in, 2 if fully in. | 187 | // Returns 1 if partly in, 2 if fully in. |
174 | // NOTE: 'center' is in absolute frame. | 188 | // NOTE: 'center' is in absolute frame. |
175 | S32 sphereInFrustumOld(const LLVector3 ¢er, const F32 radius) const; | 189 | S32 sphereInFrustumOld(const LLVector3 ¢er, const F32 radius) const; |