예제 #1
0
        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();
        }
예제 #2
0
 public override void OnCreateParent(IntPtr hwndParent)
 {
     MitsubaSettings.LoadSettings();
     _control.LoadPresets();
     _control.Focus();
     _control.listViewIntegrators.Focus();
 }
예제 #3
0
        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();
        }