public string GetDimensionsString() { string dimensions = "N:N"; if (InputDimension != 0) { dimensions = InputDimension.ToString(); } else { dimensions = "N"; } dimensions += ":"; if (OutputDimension != 0) { dimensions += OutputDimension.ToString(); } else { dimensions += "N"; } return(dimensions); }
get => new MixtureRTSettings() { widthPercent = 1.0f, heightPercent = 1.0f, depthPercent = 1.0f, width = 512, height = 512, sliceCount = 1, widthMode = OutputSizeMode.Default, heightMode = OutputSizeMode.Default, depthMode = OutputSizeMode.Default, dimension = OutputDimension.Default, targetFormat = OutputFormat.Default, editFlags = EditFlags.None, doubleBuffered = false, wrapMode = TextureWrapMode.Repeat, filterMode = FilterMode.Bilinear, };
get => new MixtureSettings() { widthScale = 1.0f, heightScale = 1.0f, depthScale = 1.0f, width = 1024, height = 1024, depth = 1, sizeMode = OutputSizeMode.InheritFromParent, dimension = OutputDimension.InheritFromParent, outputChannels = OutputChannel.InheritFromParent, outputPrecision = OutputPrecision.InheritFromParent, editFlags = ~EditFlags.POTSize, doubleBuffered = false, wrapMode = OutputWrapMode.InheritFromParent, filterMode = OutputFilterMode.InheritFromParent, refreshMode = RefreshMode.OnLoad, };
public static Shader CreateNewShaderText(MixtureGraph graph, string name, OutputDimension dimension) { name += ".shader"; switch (dimension) { case OutputDimension.Texture2D: return(CopyAssetWithNameFromTemplate <Shader>(graph, name, GetAssetTemplatePath <Shader>(shaderTextTexture2DTemplate))); case OutputDimension.Texture3D: return(CopyAssetWithNameFromTemplate <Shader>(graph, name, GetAssetTemplatePath <Shader>(shaderTextTexture3DTemplate))); case OutputDimension.CubeMap: return(CopyAssetWithNameFromTemplate <Shader>(graph, name, GetAssetTemplatePath <Shader>(shaderTextTextureCubeTemplate))); default: Debug.LogError("Can't find template to create new shader for dimension: " + dimension); return(null); } }
public static Shader CreateNewShaderText(string name, OutputDimension dimension) { name += ".shader"; switch (dimension) { case OutputDimension.Texture2D: return(CopyShaderWithNameFromTemplate(name, shaderTextTexture2DTemplate)); case OutputDimension.Texture3D: return(CopyShaderWithNameFromTemplate(name, shaderTextTexture3DTemplate)); case OutputDimension.CubeMap: return(CopyShaderWithNameFromTemplate(name, shaderTextTextureCubeTemplate)); default: Debug.LogError("Can't find template to create new shader for dimension: " + dimension); return(null); } }
protected override VisualElement CreateSettingsView() { var sv = base.CreateSettingsView(); OutputDimension currentDim = nodeTarget.rtSettings.dimension; settingsView.RegisterChangedCallback(() => { // Reflect the changes on the graph output texture but not on the asset to avoid stalls. graph.UpdateOutputTextures(); RefreshOutputPortSettings(); // When the dimension is updated, we need to update all the node ports in the graph var newDim = nodeTarget.rtSettings.dimension; if (currentDim != newDim) { // We delay the port refresh to let the settings finish it's update schedule.Execute(() => { owner.ProcessGraph(); // Refresh ports on all the nodes in the graph foreach (var nodeView in owner.nodeViews) { nodeView.nodeTarget.UpdateAllPortsLocal(); nodeView.RefreshPorts(); } }).ExecuteLater(1); currentDim = newDim; NodeProvider.LoadGraph(graph); } else { schedule.Execute(() => { owner.ProcessGraph(); }).ExecuteLater(1); } }); return(sv); }