/// <inheritdoc /> public override void Dispose() { if (_preview != null) { _preview.Dispose(); _preview = null; } base.Dispose(); }
/// <inheritdoc /> public override void OnThumbnailDrawPrepare(ThumbnailRequest request) { if (_preview == null) { _preview = new MaterialPreview(false); InitAssetPreview(_preview); } // TODO: disable streaming for dependant assets during thumbnail rendering (and restore it after) }
/// <inheritdoc /> public override void OnThumbnailDrawPrepare(ThumbnailRequest request) { if (_preview == null) { _preview = new MaterialPreview(false); _preview.RenderOnlyWithWindow = false; _preview.Task.Enabled = false; _preview.Size = new Vector2(PreviewsCache.AssetIconSize, PreviewsCache.AssetIconSize); _preview.SyncBackbufferSize(); } // TODO: disable streaming for dependant assets during thumbnail rendering (and restore it after) }
/// <inheritdoc /> public MaterialWindow(Editor editor, AssetItem item) : base(editor, item) { // Split Panel 1 _split1 = new SplitPanel(Orientation.Horizontal, ScrollBars.None, ScrollBars.None) { DockStyle = DockStyle.Fill, SplitterValue = 0.7f, Parent = this }; // Split Panel 2 _split2 = new SplitPanel(Orientation.Vertical, ScrollBars.None, ScrollBars.Vertical) { DockStyle = DockStyle.Fill, SplitterValue = 0.4f, Parent = _split1.Panel2 }; // Material preview _preview = new MaterialPreview(true) { Parent = _split2.Panel1 }; // Material properties editor var propertiesEditor = new CustomEditorPresenter(null); propertiesEditor.Panel.Parent = _split2.Panel2; _properties = new PropertiesProxy(); propertiesEditor.Select(_properties); propertiesEditor.Modified += OnMaterialPropertyEdited; // Surface _surface = new MaterialSurface(this, Save) { Parent = _split1.Panel1, Enabled = false }; // Toolstrip _saveButton = (ToolStripButton)_toolstrip.AddButton(Editor.Icons.Save32, Save).LinkTooltip("Save"); _toolstrip.AddSeparator(); _toolstrip.AddButton(editor.Icons.PageScale32, _surface.ShowWholeGraph).LinkTooltip("Show whole graph"); _toolstrip.AddSeparator(); _toolstrip.AddButton(editor.Icons.BracketsSlash32, () => ShowSourceCode(_asset)).LinkTooltip("Show generated shader source code"); _toolstrip.AddButton(editor.Icons.Docs32, () => Application.StartProcess(Utilities.Constants.DocsUrl + "manual/graphics/materials/index.html")).LinkTooltip("See documentation to learn more"); }
/// <inheritdoc /> public override void OnThumbnailDrawPrepare(ThumbnailRequest request) { if (_preview == null) { _preview = new MaterialPreview(false); _preview.RenderOnlyWithWindow = false; _preview.Task.Enabled = false; _preview.PostFxVolume.Settings.Eye_Technique = EyeAdaptationTechnique.None; _preview.PostFxVolume.Settings.Eye_Exposure = 0.1f; _preview.PostFxVolume.Settings.data.Flags4 |= 0b1001; _preview.Size = new Vector2(PreviewsCache.AssetIconSize, PreviewsCache.AssetIconSize); _preview.SyncBackbufferSize(); } // TODO: disable streaming for dependant assets during thumbnail rendering (and restore it after) }
/// <inheritdoc /> public MaterialWindow(Editor editor, AssetItem item) : base(editor, item) { // Split Panel 1 _split1 = new SplitPanel(Orientation.Horizontal, ScrollBars.None, ScrollBars.None) { DockStyle = DockStyle.Fill, SplitterValue = 0.7f, Parent = this }; // Split Panel 2 _split2 = new SplitPanel(Orientation.Vertical, ScrollBars.None, ScrollBars.Vertical) { DockStyle = DockStyle.Fill, SplitterValue = 0.4f, Parent = _split1.Panel2 }; // Material preview _preview = new MaterialPreview(true) { Parent = _split2.Panel1 }; // Material properties editor var propertiesEditor = new CustomEditorPresenter(null); propertiesEditor.Panel.Parent = _split2.Panel2; _properties = new PropertiesProxy(); propertiesEditor.Select(_properties); propertiesEditor.Modified += OnMaterialPropertyEdited; // Surface _surface = new VisjectSurface(this, SurfaceType.Material) { Parent = _split1.Panel1, Enabled = false }; // Toolstrip _saveButton = (ToolStripButton)_toolstrip.AddButton(Editor.UI.GetIcon("Save32"), Save).LinkTooltip("Save"); _toolstrip.AddSeparator(); _toolstrip.AddButton(editor.UI.GetIcon("PageScale32"), _surface.ShowWholeGraph).LinkTooltip("Show whole graph"); }
/// <inheritdoc /> public override void OnThumbnailDrawPrepare(ThumbnailRequest request) { if (_preview == null) { _preview = new MaterialPreview(false); _preview.RenderOnlyWithWindow = false; _preview.Task.Enabled = false; var eyeAdaptation = _preview.PostFxVolume.EyeAdaptation; eyeAdaptation.Mode = EyeAdaptationMode.None; eyeAdaptation.OverrideFlags |= EyeAdaptationSettings.Override.Mode; _preview.PostFxVolume.EyeAdaptation = eyeAdaptation; _preview.Size = new Vector2(PreviewsCache.AssetIconSize, PreviewsCache.AssetIconSize); _preview.SyncBackbufferSize(); } // TODO: disable streaming for dependant assets during thumbnail rendering (and restore it after) }
/// <inheritdoc /> public override void OnThumbnailDrawPrepare(ThumbnailRequest request) { if (_preview == null) { _preview = new MaterialPreview(false) { RenderOnlyWithWindow = 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; } // TODO: disable streaming for dependant assets during thumbnail rendering (and restore it after) }
public override void AttachPreview(IAssetPreview preview) { this.materialPreview = (MaterialPreview)preview; SetPrimitive(SelectedPrimitive); }
private void OnEnable() { tar = target as MaterialPreview; tar.RefreshMesh(); }