private void ListViewIntegratorsSelectedIndexChanged(object sender, EventArgs e) { if (listViewIntegrators.SelectedItems.Count == 1) { MitsubaSettings.DefaultRenderSettingsPresetName = listViewIntegrators.SelectedItems[0].Text; var preset = LibraryPresets.GetPreset(MitsubaSettings.DefaultRenderSettingsPresetName); if (preset != null) { var integrator = LibraryIntegrators.GetIntegrator(preset.IntegratorName); var sampler = LibrarySamplers.GetSampler(preset.SamplerName); var reconstructionFilter = LibraryReconstructionFilters.GetReconstructionFilter(preset.ReconstructionFilterName); if (integrator != null) { MitsubaSettings.Integrator = integrator; } if (sampler != null) { MitsubaSettings.Sampler = sampler; } if (reconstructionFilter != null) { MitsubaSettings.ReconstructionFilter = reconstructionFilter; } } } MitsubaSettings.SaveSettings(); }
public static bool LoadSettings() { if (Tools.FileTools.CheckOrCreateFolder(FolderUserFolder) == -1) { return(false); } var configPath = Path.Combine(FolderUserFolder, FileConfigFileName); if (!File.Exists(configPath)) { return(false); } try { var settings = File.ReadAllLines(configPath); if (!settings.Any()) { return(false); } foreach (var line in settings) { var splited = line.Split(new[] { '=' }); if (splited.Length != 2) { continue; } var key = splited[0]; var value = splited[1]; var folderName = Path.GetDirectoryName(value); switch (key) { case "FolderRenderSettingsPresetsFolder": if (!String.IsNullOrEmpty(folderName)) { FolderRenderSettingsPresetsFolder = value; FolderRenderSettingsPresetsName = folderName; } break; case "FolderIntegratorsFolder": if (!String.IsNullOrEmpty(folderName)) { FolderIntegratorsFolder = value; FolderIntegratorsName = folderName; } break; case "FolderSamplersFolder": if (!String.IsNullOrEmpty(folderName)) { FolderSamplersFolder = value; FolderSamplersName = folderName; } break; case "FolderReconstructionFiltersFolder": if (!String.IsNullOrEmpty(folderName)) { FolderReconstructionFiltersFolder = value; FolderReconstructionFiltersName = folderName; } break; case "DefaultRenderSettingsPreset": { if (!String.IsNullOrEmpty(value)) { DefaultRenderSettingsPresetName = value; var preset = LibraryPresets.GetPreset(value); if (preset != null) { var integrator = LibraryIntegrators.GetIntegrator(preset.IntegratorName); var sampler = LibrarySamplers.GetSampler(preset.SamplerName); var reconstructionFilter = LibraryReconstructionFilters.GetReconstructionFilter(preset.ReconstructionFilterName); if (integrator != null) { Integrator = integrator; } if (sampler != null) { Sampler = sampler; } if (reconstructionFilter != null) { ReconstructionFilter = reconstructionFilter; } } } } break; } } return(true); } catch { return(false); } }
private void IntegratorDialogLoad(object sender, EventArgs e) { if (String.IsNullOrEmpty(_editingPreset)) { //TODO Localize me Text = "New Mitsuba Render Settings"; } else { Text = _editingPreset; } LibraryIntegrators.Init(); LibrarySamplers.Init(); LibraryReconstructionFilters.Init(); if (LibraryIntegrators.Integrators == null || !LibraryIntegrators.Integrators.Any()) { MitsubaSettings.GenerateDefaultIntegrators(); } if (LibrarySamplers.Samplers == null || !LibrarySamplers.Samplers.Any()) { MitsubaSettings.GenerateDefaultSamplers(); } if (LibraryReconstructionFilters.ReconstructionFilters == null || !LibraryReconstructionFilters.ReconstructionFilters.Any()) { MitsubaSettings.GenerateDefaultReconstructionFilters(); } if (LibraryIntegrators.Integrators != null) { comboBoxIntegrator.DataSource = LibraryIntegrators.Integrators.ToArray(); } if (LibrarySamplers.Samplers != null) { comboBoxSampler.DataSource = LibrarySamplers.Samplers.ToArray(); } if (LibraryReconstructionFilters.ReconstructionFilters != null) { comboBoxReconstruction.DataSource = LibraryReconstructionFilters.ReconstructionFilters.ToArray(); } if (!String.IsNullOrEmpty(_editingPreset)) { var preset = LibraryPresets.GetPreset(_editingPreset); comboBoxReconstruction.SelectedItem = preset.ReconstructionFilterName; comboBoxSampler.SelectedItem = preset.SamplerName; comboBoxIntegrator.SelectedItem = preset.IntegratorName; } tabControlProperties.SelectedIndex = 0; SaveOriginals(); }