Cleanup asset previews setup for Editors thumbnails rendering

This commit is contained in:
Wojciech Figat
2022-04-04 17:09:13 +02:00
parent cff57e5697
commit 52bb5803b3
9 changed files with 36 additions and 104 deletions

View File

@@ -93,5 +93,25 @@ namespace FlaxEditor.Content
public virtual void OnThumbnailDrawCleanup(ThumbnailRequest request)
{
}
/// <summary>
/// Initializes rendering settings for asset preview drawing for a thumbnail.
/// </summary>
/// <param name="preview">The asset preview.</param>
protected void InitAssetPreview(Viewport.Previews.AssetPreview preview)
{
preview.RenderOnlyWithWindow = false;
preview.UseAutomaticTaskManagement = false;
preview.AnchorPreset = AnchorPresets.StretchAll;
preview.Offsets = Margin.Zero;
var task = preview.Task;
task.Enabled = false;
var eyeAdaptation = preview.PostFxVolume.EyeAdaptation;
eyeAdaptation.Mode = EyeAdaptationMode.None;
eyeAdaptation.OverrideFlags |= EyeAdaptationSettingsOverride.Mode;
preview.PostFxVolume.EyeAdaptation = eyeAdaptation;
}
}
}

View File

@@ -44,19 +44,8 @@ namespace FlaxEditor.Content
{
if (_preview == null)
{
_preview = new CubeTexturePreview(false)
{
RenderOnlyWithWindow = false,
UseAutomaticTaskManagement = false,
AnchorPreset = AnchorPresets.StretchAll,
Offsets = Margin.Zero,
};
_preview.Task.Enabled = false;
var eyeAdaptation = _preview.PostFxVolume.EyeAdaptation;
eyeAdaptation.Mode = EyeAdaptationMode.None;
eyeAdaptation.OverrideFlags |= EyeAdaptationSettingsOverride.Mode;
_preview.PostFxVolume.EyeAdaptation = eyeAdaptation;
_preview = new CubeTexturePreview(false);
InitAssetPreview(_preview);
}
// TODO: disable streaming for asset during thumbnail rendering (and restore it after)

View File

@@ -51,19 +51,8 @@ namespace FlaxEditor.Content
{
if (_preview == null)
{
_preview = new MaterialPreview(false)
{
RenderOnlyWithWindow = false,
UseAutomaticTaskManagement = false,
AnchorPreset = AnchorPresets.StretchAll,
Offsets = Margin.Zero,
};
_preview.Task.Enabled = false;
var eyeAdaptation = _preview.PostFxVolume.EyeAdaptation;
eyeAdaptation.Mode = EyeAdaptationMode.None;
eyeAdaptation.OverrideFlags |= EyeAdaptationSettingsOverride.Mode;
_preview.PostFxVolume.EyeAdaptation = eyeAdaptation;
_preview = new MaterialPreview(false);
InitAssetPreview(_preview);
}
// TODO: disable streaming for dependant assets during thumbnail rendering (and restore it after)

View File

@@ -97,19 +97,8 @@ namespace FlaxEditor.Content
{
if (_preview == null)
{
_preview = new MaterialPreview(false)
{
RenderOnlyWithWindow = false,
UseAutomaticTaskManagement = false,
AnchorPreset = AnchorPresets.StretchAll,
Offsets = Margin.Zero,
};
_preview.Task.Enabled = false;
var eyeAdaptation = _preview.PostFxVolume.EyeAdaptation;
eyeAdaptation.Mode = EyeAdaptationMode.None;
eyeAdaptation.OverrideFlags |= EyeAdaptationSettingsOverride.Mode;
_preview.PostFxVolume.EyeAdaptation = eyeAdaptation;
_preview = new MaterialPreview(false);
InitAssetPreview(_preview);
}
// TODO: disable streaming for dependant assets during thumbnail rendering (and restore it after)

View File

@@ -58,19 +58,8 @@ namespace FlaxEditor.Content
{
if (_preview == null)
{
_preview = new ModelPreview(false)
{
RenderOnlyWithWindow = false,
UseAutomaticTaskManagement = false,
AnchorPreset = AnchorPresets.StretchAll,
Offsets = Margin.Zero,
};
_preview.Task.Enabled = false;
var eyeAdaptation = _preview.PostFxVolume.EyeAdaptation;
eyeAdaptation.Mode = EyeAdaptationMode.None;
eyeAdaptation.OverrideFlags |= EyeAdaptationSettingsOverride.Mode;
_preview.PostFxVolume.EyeAdaptation = eyeAdaptation;
_preview = new ModelPreview(false);
InitAssetPreview(_preview);
}
// TODO: disable streaming for asset during thumbnail rendering (and restore it after)

View File

@@ -52,19 +52,8 @@ namespace FlaxEditor.Content
{
if (_preview == null)
{
_preview = new ParticleEmitterPreview(false)
{
RenderOnlyWithWindow = false,
UseAutomaticTaskManagement = false,
AnchorPreset = AnchorPresets.StretchAll,
Offsets = Margin.Zero,
};
_preview.Task.Enabled = false;
var eyeAdaptation = _preview.PostFxVolume.EyeAdaptation;
eyeAdaptation.Mode = EyeAdaptationMode.None;
eyeAdaptation.OverrideFlags |= EyeAdaptationSettingsOverride.Mode;
_preview.PostFxVolume.EyeAdaptation = eyeAdaptation;
_preview = new ParticleEmitterPreview(false);
InitAssetPreview(_preview);
}
// Mark for initial warmup

View File

@@ -83,19 +83,8 @@ namespace FlaxEditor.Content
{
if (_preview == null)
{
_preview = new ParticleEmitterPreview(false)
{
RenderOnlyWithWindow = false,
UseAutomaticTaskManagement = false,
AnchorPreset = AnchorPresets.StretchAll,
Offsets = Margin.Zero,
};
_preview.Task.Enabled = false;
var eyeAdaptation = _preview.PostFxVolume.EyeAdaptation;
eyeAdaptation.Mode = EyeAdaptationMode.None;
eyeAdaptation.OverrideFlags |= EyeAdaptationSettingsOverride.Mode;
_preview.PostFxVolume.EyeAdaptation = eyeAdaptation;
_preview = new ParticleEmitterPreview(false);
InitAssetPreview(_preview);
}
// Mark for initial warmup

View File

@@ -94,19 +94,8 @@ namespace FlaxEditor.Content
{
if (_preview == null)
{
_preview = new PrefabPreview(false)
{
RenderOnlyWithWindow = false,
UseAutomaticTaskManagement = false,
AnchorPreset = AnchorPresets.StretchAll,
Offsets = Margin.Zero,
};
_preview.Task.Enabled = false;
var eyeAdaptation = _preview.PostFxVolume.EyeAdaptation;
eyeAdaptation.Mode = EyeAdaptationMode.None;
eyeAdaptation.OverrideFlags |= EyeAdaptationSettingsOverride.Mode;
_preview.PostFxVolume.EyeAdaptation = eyeAdaptation;
_preview = new PrefabPreview(false);
InitAssetPreview(_preview);
}
// TODO: disable streaming for asset during thumbnail rendering (and restore it after)

View File

@@ -44,19 +44,8 @@ namespace FlaxEditor.Content
{
if (_preview == null)
{
_preview = new AnimatedModelPreview(false)
{
RenderOnlyWithWindow = false,
UseAutomaticTaskManagement = false,
AnchorPreset = AnchorPresets.StretchAll,
Offsets = Margin.Zero,
};
_preview.Task.Enabled = false;
var eyeAdaptation = _preview.PostFxVolume.EyeAdaptation;
eyeAdaptation.Mode = EyeAdaptationMode.None;
eyeAdaptation.OverrideFlags |= EyeAdaptationSettingsOverride.Mode;
_preview.PostFxVolume.EyeAdaptation = eyeAdaptation;
_preview = new AnimatedModelPreview(false);
InitAssetPreview(_preview);
}
// TODO: disable streaming for asset during thumbnail rendering (and restore it after)