diff options
-rw-r--r-- | indra/llmath/llvolume.cpp | 8 | ||||
-rw-r--r-- | indra/newview/llface.cpp | 5 | ||||
-rw-r--r-- | indra/newview/llviewercontrol.cpp | 5 |
3 files changed, 17 insertions, 1 deletions
diff --git a/indra/llmath/llvolume.cpp b/indra/llmath/llvolume.cpp index a0874e859c..2411bb7900 100644 --- a/indra/llmath/llvolume.cpp +++ b/indra/llmath/llvolume.cpp @@ -92,11 +92,13 @@ extern BOOL gDebugGL; void assert_aligned(void* ptr, U32 alignment) { +#if 0 U32 t = (U32) ptr; if (t%alignment != 0) { llerrs << "WTF?" << llendl; } +#endif } BOOL check_same_clock_dir( const LLVector3& pt1, const LLVector3& pt2, const LLVector3& pt3, const LLVector3& norm) @@ -6600,6 +6602,12 @@ BOOL LLVolumeFace::createSide(LLVolume* volume, BOOL partial_build) } } + //clear normals + for (U32 i = 0; i < mNumVertices; i++) + { + mNormals[i].clear(); + } + //generate normals for (U32 i = 0; i < mNumIndices/3; i++) //for each triangle { diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp index 4de61964c7..f5a04c8c81 100644 --- a/indra/newview/llface.cpp +++ b/indra/newview/llface.cpp @@ -1665,6 +1665,11 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume, LLVector4a* dst = (LLVector4a*) colors.get(); S32 num_vecs = num_vertices/4; + if (num_vertices%4 > 0) + { + ++num_vecs; + } + for (S32 i = 0; i < num_vecs; i++) { dst[i] = src; diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp index 131c712241..13dee0c7b7 100644 --- a/indra/newview/llviewercontrol.cpp +++ b/indra/newview/llviewercontrol.cpp @@ -123,7 +123,10 @@ static bool handleSetShaderChanged(const LLSD& newvalue) static bool handleLightingDetailChanged(const LLSD& newvalue) { - gPipeline.setLightingDetail(-1); + if (gPipeline.isInit()) + { + gPipeline.setLightingDetail(-1); + } return true; } |