diff options
Diffstat (limited to '')
-rw-r--r-- | linden/indra/llmath/llvolume.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/linden/indra/llmath/llvolume.cpp b/linden/indra/llmath/llvolume.cpp index b9b9e0b..a1d891a 100644 --- a/linden/indra/llmath/llvolume.cpp +++ b/linden/indra/llmath/llvolume.cpp | |||
@@ -2208,16 +2208,10 @@ void LLVolume::sculpt(U16 sculpt_width, U16 sculpt_height, S8 sculpt_components, | |||
2208 | S32 requested_sizeS = 0; | 2208 | S32 requested_sizeS = 0; |
2209 | S32 requested_sizeT = 0; | 2209 | S32 requested_sizeT = 0; |
2210 | 2210 | ||
2211 | // create oblong sculpties with high LOD always | 2211 | sculpt_calc_mesh_resolution(sculpt_width, sculpt_height, sculpt_type, mDetail, requested_sizeS, requested_sizeT); |
2212 | F32 sculpt_detail = mDetail; | ||
2213 | if (sculpt_width != sculpt_height && sculpt_detail < 4.0) | ||
2214 | { | ||
2215 | sculpt_detail = 4.0; | ||
2216 | } | ||
2217 | sculpt_calc_mesh_resolution(sculpt_width, sculpt_height, sculpt_type, sculpt_detail, requested_sizeS, requested_sizeT); | ||
2218 | 2212 | ||
2219 | mPathp->generate(mParams.getPathParams(), sculpt_detail, 0, TRUE, requested_sizeS); | 2213 | mPathp->generate(mParams.getPathParams(), mDetail, 0, TRUE, requested_sizeS); |
2220 | mProfilep->generate(mParams.getProfileParams(), mPathp->isOpen(), sculpt_detail, 0, TRUE, requested_sizeT); | 2214 | mProfilep->generate(mParams.getProfileParams(), mPathp->isOpen(), mDetail, 0, TRUE, requested_sizeT); |
2221 | 2215 | ||
2222 | S32 sizeS = mPathp->mPath.size(); // we requested a specific size, now see what we really got | 2216 | S32 sizeS = mPathp->mPath.size(); // we requested a specific size, now see what we really got |
2223 | S32 sizeT = mProfilep->mProfile.size(); // we requested a specific size, now see what we really got | 2217 | S32 sizeT = mProfilep->mProfile.size(); // we requested a specific size, now see what we really got |
@@ -3376,7 +3370,8 @@ void LLVolume::generateSilhouetteVertices(std::vector<LLVector3> &vertices, | |||
3376 | std::vector<S32> &segments, | 3370 | std::vector<S32> &segments, |
3377 | const LLVector3& obj_cam_vec, | 3371 | const LLVector3& obj_cam_vec, |
3378 | const LLMatrix4& mat, | 3372 | const LLMatrix4& mat, |
3379 | const LLMatrix3& norm_mat) | 3373 | const LLMatrix3& norm_mat, |
3374 | S32 face_mask) | ||
3380 | { | 3375 | { |
3381 | LLMemType m1(LLMemType::MTYPE_VOLUME); | 3376 | LLMemType m1(LLMemType::MTYPE_VOLUME); |
3382 | 3377 | ||
@@ -3384,12 +3379,17 @@ void LLVolume::generateSilhouetteVertices(std::vector<LLVector3> &vertices, | |||
3384 | normals.clear(); | 3379 | normals.clear(); |
3385 | segments.clear(); | 3380 | segments.clear(); |
3386 | 3381 | ||
3382 | S32 cur_index = 0; | ||
3387 | //for each face | 3383 | //for each face |
3388 | for (face_list_t::iterator iter = mVolumeFaces.begin(); | 3384 | for (face_list_t::iterator iter = mVolumeFaces.begin(); |
3389 | iter != mVolumeFaces.end(); ++iter) | 3385 | iter != mVolumeFaces.end(); ++iter) |
3390 | { | 3386 | { |
3391 | const LLVolumeFace& face = *iter; | 3387 | const LLVolumeFace& face = *iter; |
3392 | 3388 | ||
3389 | if (!(face_mask & (0x1 << cur_index++))) | ||
3390 | { | ||
3391 | continue; | ||
3392 | } | ||
3393 | if (face.mTypeMask & (LLVolumeFace::CAP_MASK)) { | 3393 | if (face.mTypeMask & (LLVolumeFace::CAP_MASK)) { |
3394 | 3394 | ||
3395 | } | 3395 | } |