FIRE-32267 - Allow Reliable LOD generation to be set as default

A new setting has been added to the mesh uploader settings tab allowing the user to toggle their preference for GLOD as default behaviour. default remains as per LL.
master
Beq 2023-12-03 01:55:34 +00:00
parent ca154e0b68
commit 63fe3b4c52
4 changed files with 54 additions and 11 deletions

View File

@ -9361,6 +9361,17 @@
<key>Value</key>
<integer>1</integer>
</map>
<key>FSMeshUploadUseGLODAsDefault</key>
<map>
<key>Comment</key>
<string>Use the 'reliable' (GLOD) method for LODs as the default when opening Collada files.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>MeshPreviewCanvasColor</key>
<map>
<key>Comment</key>

View File

@ -148,7 +148,18 @@ mAvatarTabIndex(0)
mLODMode[LLModel::LOD_HIGH] = LLModelPreview::LOD_FROM_FILE;
for (U32 i = 0; i < LLModel::LOD_HIGH; i++)
{
mLODMode[i] = LLModelPreview::MESH_OPTIMIZER_AUTO;
// <FS:Beq> FIRE-32267 - Set default LOD mode to GLOD
// mLODMode[i] = LLModelPreview::MESH_OPTIMIZER_AUTO;
static LLCachedControl<bool> default_to_glod(gSavedSettings, "FSMeshUploadUseGLODAsDefault");
if( default_to_glod )
{
mLODMode[i] = LLModelPreview::GENERATE;
}
else
{
mLODMode[i] = LLModelPreview::MESH_OPTIMIZER_AUTO;
}
// </FS:Beq>
}
}

View File

@ -3667,8 +3667,17 @@ void LLModelPreview::updateLodControls(S32 lod)
}
else // auto generate, the default case for all LoDs except High
{
fmp->mLODMode[lod] = MESH_OPTIMIZER_AUTO;
// <FS:Beq> FIRE-32267 - Allow GLOD to be default
// fmp->mLODMode[lod] = MESH_OPTIMIZER_AUTO;
if( lod_mode == GENERATE )
{
fmp->mLODMode[lod] = GENERATE;
}
else
{
fmp->mLODMode[lod] = MESH_OPTIMIZER_AUTO;
}
// </FS:Beq>
//don't actually regenerate lod when refreshing UI
mLODFrozen = true;
@ -3693,7 +3702,7 @@ void LLModelPreview::updateLodControls(S32 lod)
mFMP->getChild<LLComboBox>("lod_mode_" + lod_name[lod])->selectNthItem(mRequestedLoDMode[lod]);
if (mRequestedLoDMode[lod] == 0)
if (mRequestedLoDMode[lod] == 0 || mRequestedLoDMode[lod] == GENERATE) // <FS:Beq/> FIRE-32267 - Allow GLOD to be default
{
limit->setVisible(true);
threshold->setVisible(false);
@ -5077,11 +5086,15 @@ bool LLModelPreview::lodQueryCallback()
S32 lod = preview->mLodsQuery.back();
preview->mLodsQuery.pop_back();
// <FS:Beq> Improved LOD generation
#ifdef USE_GLOD_AS_DEFAULT
preview->genGlodLODs(lod, 3, false);
#else
preview->genMeshOptimizerLODs(lod, MESH_OPTIMIZER_AUTO, 3, false);
#endif
static LLCachedControl<bool> default_to_glod(gSavedSettings, "FSMeshUploadUseGLODAsDefault");
if (default_to_glod())
{
preview->genGlodLODs(lod, 3, false);
}
else
{
preview->genMeshOptimizerLODs(lod, MESH_OPTIMIZER_AUTO, 3, false);
}
// </FS:Beq>
if (preview->mLookUpLodFiles && (lod == LLModel::LOD_HIGH))
{

View File

@ -1475,7 +1475,7 @@
follows="top|left"
top_pad="8"
left="24"
width="300"
width="200"
label="Auto-enable weights"
tool_tip="Automatically set weights enabled for meshes with rigging info"
name="mesh_preview_auto_weights"/>
@ -1483,10 +1483,18 @@
control_name="FSMeshUploadAutoShowWeightsWhenEnabled"
follows="top|left"
left_pad="5"
width="300"
width="200"
label="Auto-preview weights"
tool_tip="Automatically show weights in preview for meshes with rigging info"
name="mesh_preview_auto_show_weights"/>
<check_box
control_name="FSMeshUploadUseGLODAsDefault"
follows="top|left"
left_pad="5"
width="200"
label="Default to 'Reliable' LODs"
tool_tip="Use the 'Reliable' method (GLOD) by default"
name="mesh_upload_default_to_reliable"/>
<text
follows="left|top"
layout="topleft"