|
|
|
@ -3347,7 +3347,7 @@ bool MeshTexture::CreateVirtualFaces6(FaceDataViewArr& facesDatas, FaceDataViewA |
|
|
|
} |
|
|
|
} |
|
|
|
//*/
|
|
|
|
//*/
|
|
|
|
|
|
|
|
|
|
|
|
if (validViewsSize<=0) |
|
|
|
if (validViewsSize<=0&&false) |
|
|
|
{ |
|
|
|
{ |
|
|
|
//*
|
|
|
|
//*
|
|
|
|
// int nSize = sortedViews.size(); // (sortedViews.size() > 3) ? 3 : sortedViews.size();
|
|
|
|
// int nSize = sortedViews.size(); // (sortedViews.size() > 3) ? 3 : sortedViews.size();
|
|
|
|
@ -3466,7 +3466,7 @@ bool MeshTexture::CreateVirtualFaces6(FaceDataViewArr& facesDatas, FaceDataViewA |
|
|
|
} |
|
|
|
} |
|
|
|
//*/
|
|
|
|
//*/
|
|
|
|
} |
|
|
|
} |
|
|
|
else if (validViewsSize>0&&validViewsSize<=2) |
|
|
|
else if (validViewsSize>0&&validViewsSize<=2&&false) |
|
|
|
{ |
|
|
|
{ |
|
|
|
/*
|
|
|
|
/*
|
|
|
|
virtualFaceData.quality = 0; |
|
|
|
virtualFaceData.quality = 0; |
|
|
|
@ -3569,21 +3569,31 @@ bool MeshTexture::CreateVirtualFaces6(FaceDataViewArr& facesDatas, FaceDataViewA |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
else |
|
|
|
{ |
|
|
|
{ |
|
|
|
/*
|
|
|
|
//*
|
|
|
|
ASSERT(processedFaces > 0); |
|
|
|
ASSERT(processedFaces > 0); |
|
|
|
virtualFaceData.quality /= processedFaces; |
|
|
|
// virtualFaceData.quality /= processedFaces;
|
|
|
|
#if TEXOPT_FACEOUTLIER != TEXOPT_FACEOUTLIER_NA |
|
|
|
#if TEXOPT_FACEOUTLIER != TEXOPT_FACEOUTLIER_NA |
|
|
|
virtualFaceData.color /= processedFaces; |
|
|
|
// virtualFaceData.color /= processedFaces;
|
|
|
|
#endif |
|
|
|
#endif |
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
virtualFaceData.quality = 0; |
|
|
|
|
|
|
|
#if TEXOPT_FACEOUTLIER != TEXOPT_FACEOUTLIER_NA |
|
|
|
|
|
|
|
virtualFaceData.color = Point3f::ZERO; |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
//*/
|
|
|
|
|
|
|
|
/*
|
|
|
|
// 如果所有视图都被排除,保留原始平均值
|
|
|
|
// 如果所有视图都被排除,保留原始平均值
|
|
|
|
if (validIndices.empty()) { |
|
|
|
if (validIndices.empty() || validViews.size() <= 0) { |
|
|
|
// virtualFaceData.quality = avgQuality;
|
|
|
|
// virtualFaceData.quality = avgQuality;
|
|
|
|
#if TEXOPT_FACEOUTLIER != TEXOPT_FACEOUTLIER_NA |
|
|
|
#if TEXOPT_FACEOUTLIER != TEXOPT_FACEOUTLIER_NA |
|
|
|
// virtualFaceData.color = avgColor;
|
|
|
|
// virtualFaceData.color = avgColor;
|
|
|
|
#endif |
|
|
|
#endif |
|
|
|
virtualFaceData.quality = medianQuality; |
|
|
|
// virtualFaceData.quality = medianQuality;
|
|
|
|
virtualFaceData.color = medianColor; |
|
|
|
// virtualFaceData.color = medianColor;
|
|
|
|
|
|
|
|
virtualFaceData.quality /= processedFaces; |
|
|
|
|
|
|
|
#if TEXOPT_FACEOUTLIER != TEXOPT_FACEOUTLIER_NA |
|
|
|
|
|
|
|
virtualFaceData.color /= processedFaces; |
|
|
|
|
|
|
|
#endif |
|
|
|
} |
|
|
|
} |
|
|
|
else { |
|
|
|
else { |
|
|
|
// 使用过滤后的视图重新计算平均值
|
|
|
|
// 使用过滤后的视图重新计算平均值
|
|
|
|
@ -3600,6 +3610,7 @@ bool MeshTexture::CreateVirtualFaces6(FaceDataViewArr& facesDatas, FaceDataViewA |
|
|
|
virtualFaceData.quality = totalQuality2 / validIndices.size(); |
|
|
|
virtualFaceData.quality = totalQuality2 / validIndices.size(); |
|
|
|
virtualFaceData.color = totalColor2 / validIndices.size(); |
|
|
|
virtualFaceData.color = totalColor2 / validIndices.size(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//*/
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
else |
|
|
|
|