diff options
| author | Dave Parks <none@none> | 2010-06-08 23:13:05 -0500 | 
|---|---|---|
| committer | Dave Parks <none@none> | 2010-06-08 23:13:05 -0500 | 
| commit | c2da9f5d2cc86af0af34199c53e872fbff22637b (patch) | |
| tree | 326f7e77cf619eb81c5838791b2e4f0a60a032d4 /indra/newview/llviewercamera.cpp | |
| parent | 2cfc9f57bb22ab732cdc55b5e48ff9a05040d05a (diff) | |
| parent | 22102e41cbf4ce9e1c0d069f111849466e297520 (diff) | |
Merge with viewer-experimental
Diffstat (limited to 'indra/newview/llviewercamera.cpp')
| -rw-r--r-- | indra/newview/llviewercamera.cpp | 17 | 
1 files changed, 13 insertions, 4 deletions
diff --git a/indra/newview/llviewercamera.cpp b/indra/newview/llviewercamera.cpp index aa82c216d9..cef7c4abbb 100644 --- a/indra/newview/llviewercamera.cpp +++ b/indra/newview/llviewercamera.cpp @@ -38,6 +38,7 @@  // Viewer includes  #include "llagent.h"  #include "llagentcamera.h" +#include "llmatrix4a.h"  #include "llviewercontrol.h"  #include "llviewerobjectlist.h"  #include "llviewerregion.h" @@ -787,21 +788,29 @@ BOOL LLViewerCamera::areVertsVisible(LLViewerObject* volumep, BOOL all_verts)  	LLMatrix4 render_mat(vo_volume->getRenderRotation(), LLVector4(vo_volume->getRenderPosition())); +	LLMatrix4a render_mata; +	render_mata.loadu(render_mat); +	LLMatrix4a mata; +	mata.loadu(mat); +  	num_faces = volume->getNumVolumeFaces();  	for (i = 0; i < num_faces; i++)  	{  		const LLVolumeFace& face = volume->getVolumeFace(i); -		for (U32 v = 0; v < face.mVertices.size(); v++) +		for (U32 v = 0; v < face.mNumVertices; v++)  		{ -			LLVector4 vec = LLVector4(face.mVertices[v].mPosition) * mat; +			const LLVector4a& src_vec = face.mPositions[v]; +			LLVector4a vec; +			mata.affineTransform(src_vec, vec);  			if (drawablep->isActive())  			{ -				vec = vec * render_mat;	 +				LLVector4a t = vec; +				render_mata.affineTransform(t, vec);  			} -			BOOL in_frustum = pointInFrustum(LLVector3(vec)) > 0; +			BOOL in_frustum = pointInFrustum(LLVector3(vec.getF32())) > 0;  			if (( !in_frustum && all_verts) ||  				 (in_frustum && !all_verts))  | 
