From 280473c8a09513d212a93d5a4ee58187a004b669 Mon Sep 17 00:00:00 2001 From: mfeemster Date: Sun, 20 Jul 2014 17:16:23 -0700 Subject: [PATCH] Add scrollbars Add scrollbars to various UI areas to be more friendly to low resolution monitors. This works well down to vertical resolutions of 960. Below that, things will get scrunched. --- .gitignore | 5 +- Source/Fractorium/FinalRenderDialog.cpp | 17 +- Source/Fractorium/FinalRenderDialog.h | 6 +- Source/Fractorium/FinalRenderDialog.ui | 1644 ++++---- .../Fractorium/FinalRenderEmberController.h | 2 +- Source/Fractorium/Fractorium.ui | 3643 +++++++++-------- Source/Fractorium/FractoriumParams.cpp | 9 +- 7 files changed, 2777 insertions(+), 2549 deletions(-) diff --git a/.gitignore b/.gitignore index 6683e69..acc9838 100644 --- a/.gitignore +++ b/.gitignore @@ -17,7 +17,6 @@ *.res *.ipch *.bsc -Builds/MSVC/VS2010/GeneratedFiles/Release/moc_AboutDialog.cpp *.exe *.xml *.ilk @@ -26,4 +25,6 @@ Builds/MSVC/VS2010/GeneratedFiles/Release/moc_AboutDialog.cpp *.txt *.msi *.idb -*.flam3 \ No newline at end of file +*.flam3 +*moc_* +*GeneratedFiles* \ No newline at end of file diff --git a/Source/Fractorium/FinalRenderDialog.cpp b/Source/Fractorium/FinalRenderDialog.cpp index 87bc616..f4ad550 100644 --- a/Source/Fractorium/FinalRenderDialog.cpp +++ b/Source/Fractorium/FinalRenderDialog.cpp @@ -17,6 +17,7 @@ FractoriumFinalRenderDialog::FractoriumFinalRenderDialog(FractoriumSettings* set int row = 0, spinHeight = 20; unsigned int i; + double dmax = numeric_limits::max(); QTableWidget* table = ui.FinalRenderGeometryTable; QTableWidgetItem* item = NULL; @@ -34,15 +35,15 @@ FractoriumFinalRenderDialog::FractoriumFinalRenderDialog(FractoriumSettings* set connect(ui.FinalRenderScaleWidthRadioButton, SIGNAL(toggled(bool)), this, SLOT(OnScaleRadioButtonChanged(bool)), Qt::QueuedConnection); connect(ui.FinalRenderScaleHeightRadioButton, SIGNAL(toggled(bool)), this, SLOT(OnScaleRadioButtonChanged(bool)), Qt::QueuedConnection); - SetupSpinner(table, this, row, 1, m_WidthSpin, spinHeight, 10, 100000, 50, SIGNAL(valueChanged(int)), SLOT(OnWidthChanged(int)), true, 1980); - SetupSpinner(table, this, row, 1, m_HeightSpin, spinHeight, 10, 100000, 50, SIGNAL(valueChanged(int)), SLOT(OnHeightChanged(int)), true, 1080); - SetupSpinner(table, this, row, 1, m_QualitySpin, spinHeight, 1, 200000, 50, SIGNAL(valueChanged(int)), SLOT(OnQualityChanged(int)), true, 1000); - SetupSpinner(table, this, row, 1, m_TemporalSamplesSpin, spinHeight, 1, 5000, 50, SIGNAL(valueChanged(int)), SLOT(OnTemporalSamplesChanged(int)), true, 1000); - SetupSpinner(table, this, row, 1, m_SupersampleSpin, spinHeight, 1, 4, 1, SIGNAL(valueChanged(int)), SLOT(OnSupersampleChanged(int)), true, 2); + SetupSpinner (table, this, row, 1, m_WidthSpin, spinHeight, 10, 100000, 50, SIGNAL(valueChanged(int)), SLOT(OnWidthChanged(int)), true, 1980); + SetupSpinner (table, this, row, 1, m_HeightSpin, spinHeight, 10, 100000, 50, SIGNAL(valueChanged(int)), SLOT(OnHeightChanged(int)), true, 1080); + SetupSpinner(table, this, row, 1, m_QualitySpin, spinHeight, 1, dmax, 50, SIGNAL(valueChanged(double)), SLOT(OnQualityChanged(double)), true, 1000); + SetupSpinner (table, this, row, 1, m_TemporalSamplesSpin, spinHeight, 1, 5000, 50, SIGNAL(valueChanged(int)), SLOT(OnTemporalSamplesChanged(int)), true, 1000); + SetupSpinner (table, this, row, 1, m_SupersampleSpin, spinHeight, 1, 4, 1, SIGNAL(valueChanged(int)), SLOT(OnSupersampleChanged(int)), true, 2); row++;//Memory usage. - TwoButtonWidget* tbw = new TwoButtonWidget("...", "Open", 22, 40, 24, table); + TwoButtonWidget* tbw = new TwoButtonWidget("...", "Open", 22, 40, 22, table); table->setCellWidget(row, 1, tbw); table->item(row++, 1)->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter); connect(tbw->m_Button1, SIGNAL(clicked(bool)), this, SLOT(OnFileButtonClicked(bool)), Qt::QueuedConnection); @@ -134,7 +135,7 @@ unsigned int FractoriumFinalRenderDialog::DeviceIndex() { return ui.FinalRenderD unsigned int FractoriumFinalRenderDialog::ThreadCount() { return ui.FinalRenderThreadCountSpin->value(); } unsigned int FractoriumFinalRenderDialog::Width() { return m_WidthSpin->value(); } unsigned int FractoriumFinalRenderDialog::Height() { return m_HeightSpin->value(); } -unsigned int FractoriumFinalRenderDialog::Quality() { return m_QualitySpin->value(); } +double FractoriumFinalRenderDialog::Quality() { return m_QualitySpin->value(); } unsigned int FractoriumFinalRenderDialog::TemporalSamples() { return m_TemporalSamplesSpin->value(); } unsigned int FractoriumFinalRenderDialog::Supersample() { return m_SupersampleSpin->value(); } @@ -338,7 +339,7 @@ void FractoriumFinalRenderDialog::OnHeightChanged(int d) /// The quality spinner was changed, recompute required memory. /// /// Ignored -void FractoriumFinalRenderDialog::OnQualityChanged(int d) +void FractoriumFinalRenderDialog::OnQualityChanged(double d) { SetMemory(); } diff --git a/Source/Fractorium/FinalRenderDialog.h b/Source/Fractorium/FinalRenderDialog.h index d89a701..299592d 100644 --- a/Source/Fractorium/FinalRenderDialog.h +++ b/Source/Fractorium/FinalRenderDialog.h @@ -64,7 +64,7 @@ public: unsigned int ThreadCount(); unsigned int Width(); unsigned int Height(); - unsigned int Quality(); + double Quality(); unsigned int TemporalSamples(); unsigned int Supersample(); FinalRenderGuiState State(); @@ -81,7 +81,7 @@ public Q_SLOTS: void OnScaleRadioButtonChanged(bool checked); void OnWidthChanged(int d); void OnHeightChanged(int d); - void OnQualityChanged(int d); + void OnQualityChanged(double d); void OnTemporalSamplesChanged(int d); void OnSupersampleChanged(int d); void OnFileButtonClicked(bool checked); @@ -101,7 +101,7 @@ private: Timing m_RenderTimer; SpinBox* m_WidthSpin; SpinBox* m_HeightSpin; - SpinBox* m_QualitySpin; + DoubleSpinBox* m_QualitySpin; SpinBox* m_TemporalSamplesSpin; SpinBox* m_SupersampleSpin; QLineEdit* m_PrefixEdit; diff --git a/Source/Fractorium/FinalRenderDialog.ui b/Source/Fractorium/FinalRenderDialog.ui index 9f77f0c..2d35c28 100644 --- a/Source/Fractorium/FinalRenderDialog.ui +++ b/Source/Fractorium/FinalRenderDialog.ui @@ -45,818 +45,858 @@ 6 - - - - - Render all open flames instead of just the current one - - - Render All - - - - - - - Use temporal samples value to achieve motion blur effect between flames - - - Render as Animation Sequence - - - - - - - <html><head/><body><p>Checked: use 64-bit double precision numbers (slower, but better image quality).</p><p>Unchecked: use 32-bit single precision numbers (faster, but worse image quality).</p></body></html> - - - Use Double Precision - - - - - - - <html><head/><body><p>Use OpenCL to render if your video card supports it.</p><p>This is highly recommended as it will dramatically speed up render time.</p></body></html> - - - Use OpenCL - - - - - - - <html><head/><body><p>Checked: clip colors and gamma correct after density filtering.</p><p>Unchecked: do it after spatial filtering.</p></body></html> - - - Early Clip - - - - - - - Save an Xml parameter file for each flame rendered - - - Save Xml - - - - - - - <html><head/><body><p>Use transparency in the final image.</p><p>Only supported for Png format.</p></body></html> - - - Transparency - - - - - - - - 0 - 40 - - - - - 16777215 - 40 - - - - The scaling to perform from the editor to the final rendered image - - - Scale - - - - 6 - - - 4 - - - 4 - - - 6 - - - - - None - - - true - - - - - - - Width - - - - - - - Height - - - - - - - - - - - 0 - 0 - - - - - 110 - 40 - - - - - 16777215 - 40 - - - - The image type to save the final output as when rendering all open flames - - - Render All Extension - - - - 6 - - - 4 - - - 4 - - - 6 - - - - - - 0 - 0 - - - - Jpg - - - true - - - - - - - - 0 - 0 - - - - Png - - - - - - - - - - Maintain the aspect ratio between width and height to be equal to base width and base height - - - Keep Aspect Ratio - - - false - - - - - - - - - - 0 - 0 - - - - - 100 - 100 - - - - - 100 - 100 - - - - - 1 - 1 - - + QFrame::NoFrame - - 0 - - - - - - Qt::PlainText - - - Qt::AlignCenter - - - - - - - - 0 - 0 - - - - - 320 - 0 - - - - - 320 - 16777215 - - - - - - - - - 0 - 0 - - - - - 320 - 0 - - - - - 320 - 16777215 - - - - - - - - - 0 - 0 - - - - <html><head/><body><p>The number of threads to use with CPU rendering.</p><p>Decrease for a more responsive system during rendering, increase for better performance.</p></body></html> - - - Threads - - - 1 - - - 64 - - - - - - - - 0 - 0 - - - - - 0 - 218 - - - - - 16777215 - 218 - - - - Qt::NoFocus - - - QFrame::Panel - - QFrame::Plain + QFrame::Raised - - Qt::ScrollBarAlwaysOff - - - Qt::ScrollBarAlwaysOff - - - QAbstractItemView::NoEditTriggers - - - false - - - false - - - QAbstractItemView::NoSelection - - - QAbstractItemView::ScrollPerPixel - - - QAbstractItemView::ScrollPerPixel - - + true - - Qt::SolidLine - - - false - - - 2 - - - false - - - false - - - 110 - - - false - - - 35 - - - true - - - false - - - 24 - - - false - - - 24 - - - false - - - - Width + + + + 0 + 0 + 507 + 789 + - - - - - - - Height - - - - - Quality - - - - - Temporal Samples - - - - - Supersample - - - - - Memory Usage - - - - - Output - - - - - Prefix - - - - - Suffix - - - - - Field - - - - - - - - - - Width - - - The width in pixels of the final output image - - - - - 0 - - - - - Height - - - The height in pixels of the final output image - - - - - 0 - - - - - Quality - - - The quality in iterations per pixel of the final output image - - - - - 0 - - - - - Temporal Samples - - - The number of interpolated renders to do for each flame when rendering as an animation sequence - - - - - 0 - - - - - Supersample - - - <html><head/><body><p>The number to multiply the dimensions of the histogram and density filtering buffer by to achieve anti-aliasing.</p><p>Use this very sparingly as it increases the required memory by n squared.</p></body></html> - - - - - 0 - - - - - Memory Usage - - - The amount of memory including the final output image required to perform this render - - - - - 0 - - - - - Output - - - The output file path for rendering a single flame, or folder location for rendering multiple flames - - - - - - - - - - Prefix - - - The prefix to attach to all image filenames - - - - - - - - - - Suffix - - - The suffix to attach to all image filenames - - - - - - - + + + 5 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + Render all open flames instead of just the current one + + + Render All + + + + + + + Use temporal samples value to achieve motion blur effect between flames + + + Render as Animation Sequence + + + + + + + <html><head/><body><p>Checked: use 64-bit double precision numbers (slower, but better image quality).</p><p>Unchecked: use 32-bit single precision numbers (faster, but worse image quality).</p></body></html> + + + Use Double Precision + + + + + + + <html><head/><body><p>Use OpenCL to render if your video card supports it.</p><p>This is highly recommended as it will dramatically speed up render time.</p></body></html> + + + Use OpenCL + + + + + + + <html><head/><body><p>Checked: clip colors and gamma correct after density filtering.</p><p>Unchecked: do it after spatial filtering.</p></body></html> + + + Early Clip + + + + + + + Save an Xml parameter file for each flame rendered + + + Save Xml + + + + + + + <html><head/><body><p>Use transparency in the final image.</p><p>Only supported for Png format.</p></body></html> + + + Transparency + + + + + + + + 0 + 40 + + + + + 16777215 + 40 + + + + The scaling to perform from the editor to the final rendered image + + + Scale + + + + 6 + + + 4 + + + 4 + + + 6 + + + + + None + + + true + + + + + + + Width + + + + + + + Height + + + + + + + + + + + 0 + 0 + + + + + 110 + 40 + + + + + 16777215 + 40 + + + + The image type to save the final output as when rendering all open flames + + + Render All Extension + + + + 6 + + + 4 + + + 4 + + + 6 + + + + + + 0 + 0 + + + + Jpg + + + true + + + + + + + + 0 + 0 + + + + Png + + + + + + + + + + Maintain the aspect ratio between width and height to be equal to base width and base height + + + Keep Aspect Ratio + + + false + + + + + + + + + + 0 + 0 + + + + + 100 + 100 + + + + + 100 + 100 + + + + + 1 + 1 + + + + QFrame::NoFrame + + + 0 + + + + + + Qt::PlainText + + + Qt::AlignCenter + + + + + + + + 0 + 0 + + + + + 320 + 0 + + + + + 320 + 16777215 + + + + + + + + + 0 + 0 + + + + + 320 + 0 + + + + + 320 + 16777215 + + + + + + + + + 0 + 0 + + + + <html><head/><body><p>The number of threads to use with CPU rendering.</p><p>Decrease for a more responsive system during rendering, increase for better performance.</p></body></html> + + + Threads + + + 1 + + + 64 + + + + + + + + 0 + 0 + + + + + 0 + 200 + + + + + 16777215 + 200 + + + + Qt::NoFocus + + + QFrame::Panel + + + QFrame::Plain + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAlwaysOff + + + QAbstractItemView::NoEditTriggers + + + false + + + false + + + QAbstractItemView::NoSelection + + + QAbstractItemView::ScrollPerPixel + + + QAbstractItemView::ScrollPerPixel + + + true + + + Qt::SolidLine + + + false + + + 2 + + + false + + + false + + + 110 + + + false + + + 35 + + + true + + + false + + + 22 + + + false + + + 22 + + + false + + + + Width + + + + + + + + Height + + + + + Quality + + + + + Temporal Samples + + + + + Supersample + + + + + Memory Usage + + + + + Output + + + + + Prefix + + + + + Suffix + + + + + Field + + + + + + + + + + Width + + + The width in pixels of the final output image + + + + + 0 + + + + + Height + + + The height in pixels of the final output image + + + + + 0 + + + + + Quality + + + The quality in iterations per pixel of the final output image + + + + + 0 + + + + + Temporal Samples + + + The number of interpolated renders to do for each flame when rendering as an animation sequence + + + + + 0 + + + + + Supersample + + + <html><head/><body><p>The number to multiply the dimensions of the histogram and density filtering buffer by to achieve anti-aliasing.</p><p>Use this very sparingly as it increases the required memory by n squared.</p></body></html> + + + + + 0 + + + + + Memory Usage + + + The amount of memory including the final output image required to perform this render + + + + + 0 + + + + + Output + + + The output file path for rendering a single flame, or folder location for rendering multiple flames + + + + + + + + + + Prefix + + + The prefix to attach to all image filenames + + + + + + + + + + Suffix + + + The suffix to attach to all image filenames + + + + + + + + + + + + + 0 / 0 + + + Qt::AlignCenter + + + + + + + QLayout::SetDefaultConstraint + + + + + + 0 + 0 + + + + 0 + + + + + + + + 0 + 0 + + + + Iteration: + + + + + + + + 0 + 0 + + + + Final Accumulation: + + + + + + + + 0 + 0 + + + + 0 + + + + + + + + 0 + 0 + + + + 0 + + + + + + + + 0 + 0 + + + + Density Filtering: + + + + + + + + 0 + 0 + + + + Total Progress: + + + + + + + + 0 + 0 + + + + 0 + + + + + + + + + + 0 + 1 + + + + + 16777215 + 16777215 + + + + Qt::TabFocus + + + + + + + 6 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Qt::Horizontal + + + + 131 + 31 + + + + + + + + Qt::TabFocus + + + Start + + + false + + + + + + + Qt::TabFocus + + + Stop + + + + + + + Qt::TabFocus + + + Close + + + false + + + false + + + + + + + - - - - 0 / 0 - - - Qt::AlignCenter - - - - - - - QLayout::SetDefaultConstraint - - - - - - 0 - 0 - - - - 0 - - - - - - - - 0 - 0 - - - - Iteration: - - - - - - - - 0 - 0 - - - - Final Accumulation: - - - - - - - - 0 - 0 - - - - 0 - - - - - - - - 0 - 0 - - - - 0 - - - - - - - - 0 - 0 - - - - Density Filtering: - - - - - - - - 0 - 0 - - - - Total Progress: - - - - - - - - 0 - 0 - - - - 0 - - - - - - - - - - 0 - 1 - - - - - 16777215 - 16777215 - - - - Qt::TabFocus - - - - - - - 6 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - Qt::Horizontal - - - - 131 - 31 - - - - - - - - Qt::TabFocus - - - Start - - - false - - - - - - - Qt::TabFocus - - - Stop - - - - - - - Qt::TabFocus - - - Close - - - false - - - false - - - - - diff --git a/Source/Fractorium/FinalRenderEmberController.h b/Source/Fractorium/FinalRenderEmberController.h index e7f2c07..f5a0218 100644 --- a/Source/Fractorium/FinalRenderEmberController.h +++ b/Source/Fractorium/FinalRenderEmberController.h @@ -38,7 +38,7 @@ struct FinalRenderGuiState unsigned int m_ThreadCount; unsigned int m_Width; unsigned int m_Height; - unsigned int m_Quality; + double m_Quality; unsigned int m_TemporalSamples; unsigned int m_Supersample; }; diff --git a/Source/Fractorium/Fractorium.ui b/Source/Fractorium/Fractorium.ui index a7406b8..2486ad6 100644 --- a/Source/Fractorium/Fractorium.ui +++ b/Source/Fractorium/Fractorium.ui @@ -6,8 +6,8 @@ 0 0 - 1162 - 996 + 1173 + 988 @@ -132,7 +132,7 @@ 0 0 - 1162 + 1173 21 @@ -220,7 +220,7 @@ 280 - 800 + 785 @@ -342,11 +342,14 @@ 0 + + true + Library - + 5 @@ -360,39 +363,97 @@ 4 - - - Qt::CustomContextMenu - + - QFrame::Panel + QFrame::NoFrame - QFrame::Plain + QFrame::Raised - - QAbstractItemView::SelectedClicked + + 1 - - 10 + + true - - false - - - - Current Flame File + + + + 0 + 0 + 252 + 857 + - + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Qt::CustomContextMenu + + + QFrame::Panel + + + QFrame::Plain + + + QAbstractItemView::SelectedClicked + + + 10 + + + false + + + + Current Flame File + + + + + + + + + 0 + 0 + + + + + 0 + 0 + + Flame - + + + 0 + 5 @@ -405,1321 +466,1346 @@ 4 - - 0 - - - - - Qt::Vertical - - - QSizePolicy::Minimum - - - - 20 - 5 - - - - - - - - - 0 - 0 - - - - - 0 - 278 - - - - - 16777215 - 278 - - - - Qt::NoFocus - + + - QFrame::Panel + QFrame::NoFrame - QFrame::Plain + QFrame::Raised - - Qt::ScrollBarAlwaysOff - - - Qt::ScrollBarAlwaysOff - - - QAbstractItemView::NoEditTriggers - - - false - - - QAbstractItemView::NoSelection - - - QAbstractItemView::ScrollPerPixel - - - QAbstractItemView::ScrollPerPixel - - + true - - Qt::SolidLine - - - false - - - 2 - - - false - - - false - - - 110 - - - false - - - 35 - - - true - - - false - - - 23 - - - false - - - 23 - - - false - - - - Width - - - - - Height - - - - - Center X - - - - - Center Y - - - - - Scale - - - - - Zoom - - - - - Rotate - - - - - Z Pos - - - - - Perspective - - - - - Pitch - - - - - Yaw - - - - - Depth Blur - - - - - Field - - - - - - - - - - Width - - - - - 0 - - - - - Height - - - - - 0 - - - - - Center X - - - - - 0 - - - - - Center Y - - - - - 0 - - - - - Scale - - - - - 0 - - - - - Zoom - - - - - 0 - - - - - Rotate - - - - - 0 - - - - - Z Pos - - - - - 0 - - - - - Perspective - - - - - 0 - - - - - Pitch - - - - - 0 - - - - - Yaw - - - - - 0 - - - - - Depth Blur - - - - - 0 - - - - - - - - - 0 - 0 - - - - - 0 - 163 - - - - - 16777215 - 163 - - - - Qt::NoFocus - - - QFrame::Panel - - - QFrame::Plain - - - Qt::ScrollBarAlwaysOff - - - Qt::ScrollBarAlwaysOff - - - QAbstractItemView::NoEditTriggers - - - false - - - QAbstractItemView::NoSelection - - - QAbstractItemView::ScrollPerPixel - - - QAbstractItemView::ScrollPerPixel - - - true - - - Qt::SolidLine - - - false - - - 2 - - - false - - - false - - - 125 - - - false - - - 35 - - - true - - - false - - - 23 - - - false - - - 23 - - - false - - - - Spatial Filter Width - - - - - Spatial Filter Type - - - - - Temporal Filter Width - - - - - Temporal Filter Type - - - - - DE Filter Min Radius - - - - - DE Filter Max Radius - - - - - DE Curve - - - - - Field - - - - - - - - - - Spatial Filter Width - - - - - 0 - - - - - Spatial Filter Type - - - - - 0 - - - - - Temporal Filter Width - - - - - 0 - - - - - Temporal Filter Type - - - - - 0 - - - - - DE Filter Min Radius - - - - - 0 - - - - - DE Filter Max Radius - - - - - 0 - - - - - DE Curve - - - - - 0 - - - - - - - - true - - - - 0 - 0 - - - - - 0 - 22 - - - - - 16777215 - 22 - - - - QFrame::Panel - - - QFrame::Plain - - - Qt::ScrollBarAlwaysOff - - - Qt::ScrollBarAlwaysOff - - - false - - - false - - - false - - - 15 - - - false - - - 15 - - - true - - - false - - - 15 - - - false - - - 15 - - - - Filter - - - AlignHCenter|AlignTop - - - - - - - - true - - - - 0 - 0 - - - - - 0 - 22 - - - - - 16777215 - 22 - - - - QFrame::Panel - - - QFrame::Plain - - - Qt::ScrollBarAlwaysOff - - - Qt::ScrollBarAlwaysOff - - - false - - - false - - - false - - - 15 - - - false - - - 15 - - - true - - - false - - - 15 - - - false - - - 15 - - - - Iteration - - - AlignHCenter|AlignTop - - - - - - - - Qt::Vertical - - - QSizePolicy::Minimum - - - - 20 - 5 - - - - - - - - - 0 - 0 - - - - - 0 - 163 - - - - - 16777215 - 163 - - - - Qt::NoFocus - - - true - - - QFrame::Panel - - - QFrame::Plain - - - Qt::ScrollBarAlwaysOff - - - Qt::ScrollBarAlwaysOff - - - QAbstractItemView::NoEditTriggers - - - false - - - QAbstractItemView::NoSelection - - - QAbstractItemView::SelectItems - - - QAbstractItemView::ScrollPerPixel - - - QAbstractItemView::ScrollPerPixel - - - true - - - Qt::SolidLine - - - false - - - false - - - 2 - - - false - - - false - - - 110 - - - false - - - 35 - - - true - - - false - - - 23 - - - false - - - 23 - - - false - - - - Brightness - - - - - Gamma - - - - - Gamma Threshold - - - - - Vibrancy - - - - - Highlight Power - - - - - Background - - - - - Palette Mode - - - - - Field - - - - - - - - - - Brightness - - - - - 0 - - - - - Gamma - - - - - 0 - - - - - Gamma Threshold - - - - - 0 - - - - - Vibrancy - - - - - 0 - - - - - Highlight Power - - - - - 0 - - - - - Background - - - - - 0 - - - - - Palette Mode - - - - - 0 - - - - - - - - Qt::Vertical - - - QSizePolicy::Expanding - - - - 20 - 300 - - - - - - - - - 0 - 0 - - - - - 0 - 140 - - - - - 16777215 - 140 - - - - Qt::NoFocus - - - QFrame::Panel - - - QFrame::Plain - - - Qt::ScrollBarAlwaysOff - - - Qt::ScrollBarAlwaysOff - - - QAbstractItemView::NoEditTriggers - - - false - - - QAbstractItemView::NoSelection - - - QAbstractItemView::ScrollPerPixel - - - QAbstractItemView::ScrollPerPixel - - - true - - - Qt::SolidLine - - - false - - - 2 - - - false - - - false - - - 110 - - - false - - - 35 - - - true - - - false - - - 23 - - - false - - - 23 - - - false - - - - Passes - - - - - Temporal Samples - - - - - Quality - - - - - Supersample - - - - - Affine Interpolation - - - - - Interpolation - - - - - Field - - - - - - - - - - Passes - - - - - 0 - - - - - Temporal Samples - - - - - 0 - - - - - Quality - - - - - 0 - - - - - Supersample - - - - - 0 - - - - - Affine Interpolation - - - - - 0 - - - - - Interpolation - - - - - 0 - - - - - - - - Qt::Vertical - - - QSizePolicy::Minimum - - - - 20 - 5 - - - - - - - - true - - - - 0 - 0 - - - - - 0 - 22 - - - - - 16777215 - 22 - - - - QFrame::Panel - - - QFrame::Plain - - - Qt::ScrollBarAlwaysOff - - - Qt::ScrollBarAlwaysOff - - - QAbstractItemView::ScrollPerItem - - - QAbstractItemView::ScrollPerItem - - - false - - - false - - - false - - - 15 - - - false - - - 15 - - - true - - - false - - - 15 - - - false - - - 15 - - - - Color - - - AlignHCenter|AlignTop - - - - - - - - true - - - - 0 - 0 - - - - - 0 - 22 - - - - - 16777215 - 22 - - - - QFrame::Panel - - - QFrame::Plain - - - Qt::ScrollBarAlwaysOff - - - Qt::ScrollBarAlwaysOff - - - false - - - false - - - false - - - 15 - - - false - - - 15 - - - true - - - false - - - 15 - - - false - - - 15 - - - - Geometry - - - AlignHCenter|AlignTop - - + + + + 0 + 0 + 252 + 857 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + true + + + + 0 + 0 + + + + + 0 + 22 + + + + + 16777215 + 22 + + + + QFrame::Panel + + + QFrame::Plain + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAlwaysOff + + + false + + + false + + + false + + + 15 + + + false + + + 15 + + + true + + + false + + + 15 + + + false + + + 15 + + + + Filter + + + AlignHCenter|AlignTop + + + + + + + + true + + + + 0 + 0 + + + + + 0 + 22 + + + + + 16777215 + 22 + + + + QFrame::Panel + + + QFrame::Plain + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAlwaysOff + + + QAbstractItemView::ScrollPerItem + + + QAbstractItemView::ScrollPerItem + + + false + + + false + + + false + + + 15 + + + false + + + 15 + + + true + + + false + + + 15 + + + false + + + 15 + + + + Color + + + AlignHCenter|AlignTop + + + + + + + + + 0 + 0 + + + + + 0 + 163 + + + + + 16777215 + 163 + + + + Qt::NoFocus + + + true + + + QFrame::Panel + + + QFrame::Plain + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAlwaysOff + + + QAbstractItemView::NoEditTriggers + + + false + + + QAbstractItemView::NoSelection + + + QAbstractItemView::SelectItems + + + QAbstractItemView::ScrollPerPixel + + + QAbstractItemView::ScrollPerPixel + + + true + + + Qt::SolidLine + + + false + + + false + + + 2 + + + false + + + false + + + 110 + + + false + + + 35 + + + true + + + false + + + 23 + + + false + + + 23 + + + false + + + + Brightness + + + + + Gamma + + + + + Gamma Threshold + + + + + Vibrancy + + + + + Highlight Power + + + + + Background + + + + + Palette Mode + + + + + Field + + + + + + + + + + Brightness + + + + + 0 + + + + + Gamma + + + + + 0 + + + + + Gamma Threshold + + + + + 0 + + + + + Vibrancy + + + + + 0 + + + + + Highlight Power + + + + + 0 + + + + + Background + + + + + 0 + + + + + Palette Mode + + + + + 0 + + + + + + + + + 0 + 0 + + + + + 0 + 140 + + + + + 16777215 + 140 + + + + Qt::NoFocus + + + QFrame::Panel + + + QFrame::Plain + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAlwaysOff + + + QAbstractItemView::NoEditTriggers + + + false + + + QAbstractItemView::NoSelection + + + QAbstractItemView::ScrollPerPixel + + + QAbstractItemView::ScrollPerPixel + + + true + + + Qt::SolidLine + + + false + + + 2 + + + false + + + false + + + 110 + + + false + + + 35 + + + true + + + false + + + 23 + + + false + + + 23 + + + false + + + + Passes + + + + + Temporal Samples + + + + + Quality + + + + + Supersample + + + + + Affine Interpolation + + + + + Interpolation + + + + + Field + + + + + + + + + + Passes + + + + + 0 + + + + + Temporal Samples + + + + + 0 + + + + + Quality + + + + + 0 + + + + + Supersample + + + + + 0 + + + + + Affine Interpolation + + + + + 0 + + + + + Interpolation + + + + + 0 + + + + + + + + true + + + + 0 + 0 + + + + + 0 + 22 + + + + + 16777215 + 22 + + + + QFrame::Panel + + + QFrame::Plain + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAlwaysOff + + + false + + + false + + + false + + + 15 + + + false + + + 15 + + + true + + + false + + + 15 + + + false + + + 15 + + + + Geometry + + + AlignHCenter|AlignTop + + + + + + + + true + + + + 0 + 0 + + + + + 0 + 22 + + + + + 16777215 + 22 + + + + QFrame::Panel + + + QFrame::Plain + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAlwaysOff + + + false + + + false + + + false + + + 15 + + + false + + + 15 + + + true + + + false + + + 15 + + + false + + + 15 + + + + Iteration + + + AlignHCenter|AlignTop + + + + + + + + + 0 + 0 + + + + + 0 + 163 + + + + + 16777215 + 163 + + + + Qt::NoFocus + + + QFrame::Panel + + + QFrame::Plain + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAlwaysOff + + + QAbstractItemView::NoEditTriggers + + + false + + + QAbstractItemView::NoSelection + + + QAbstractItemView::ScrollPerPixel + + + QAbstractItemView::ScrollPerPixel + + + true + + + Qt::SolidLine + + + false + + + 2 + + + false + + + false + + + 125 + + + false + + + 35 + + + true + + + false + + + 23 + + + false + + + 23 + + + false + + + + Spatial Filter Width + + + + + Spatial Filter Type + + + + + Temporal Filter Width + + + + + Temporal Filter Type + + + + + DE Filter Min Radius + + + + + DE Filter Max Radius + + + + + DE Curve + + + + + Field + + + + + + + + + + Spatial Filter Width + + + + + 0 + + + + + Spatial Filter Type + + + + + 0 + + + + + Temporal Filter Width + + + + + 0 + + + + + Temporal Filter Type + + + + + 0 + + + + + DE Filter Min Radius + + + + + 0 + + + + + DE Filter Max Radius + + + + + 0 + + + + + DE Curve + + + + + 0 + + + + + + + + Qt::Vertical + + + QSizePolicy::Minimum + + + + 20 + 5 + + + + + + + + Qt::Vertical + + + QSizePolicy::Minimum + + + + 20 + 5 + + + + + + + + + 0 + 0 + + + + + 0 + 278 + + + + + 16777215 + 278 + + + + Qt::NoFocus + + + QFrame::Panel + + + QFrame::Plain + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAlwaysOff + + + QAbstractItemView::NoEditTriggers + + + false + + + QAbstractItemView::NoSelection + + + QAbstractItemView::ScrollPerPixel + + + QAbstractItemView::ScrollPerPixel + + + true + + + Qt::SolidLine + + + false + + + 2 + + + false + + + false + + + 110 + + + false + + + 35 + + + true + + + false + + + 23 + + + false + + + 23 + + + false + + + + Width + + + + + Height + + + + + Center X + + + + + Center Y + + + + + Scale + + + + + Zoom + + + + + Rotate + + + + + Z Pos + + + + + Perspective + + + + + Pitch + + + + + Yaw + + + + + Depth Blur + + + + + Field + + + + + + + + + + Width + + + + + 0 + + + + + Height + + + + + 0 + + + + + Center X + + + + + 0 + + + + + Center Y + + + + + 0 + + + + + Scale + + + + + 0 + + + + + Zoom + + + + + 0 + + + + + Rotate + + + + + 0 + + + + + Z Pos + + + + + 0 + + + + + Perspective + + + + + 0 + + + + + Pitch + + + + + 0 + + + + + Yaw + + + + + 0 + + + + + Depth Blur + + + + + 0 + + + + + + + + Qt::Vertical + + + QSizePolicy::Minimum + + + + 20 + 5 + + + + + + + + Qt::Vertical + + + QSizePolicy::Expanding + + + + 20 + 300 + + + + + + - ColorTable - GeometryTable - FilterTable - IterationTable - verticalSpacer_4 - FilterTableHeader - IterationTableHeader - verticalSpacer_3 - verticalSpacer_2 - verticalSpacer - ColorTableHeader - GeometryTableHeader @@ -1734,7 +1820,7 @@ Xforms - + 5 @@ -1925,7 +2011,7 @@ SpinBox Color - + 6 @@ -2385,7 +2471,7 @@ SpinBox Affine - + 5 @@ -2430,7 +2516,7 @@ SpinBox true - + 4 @@ -2572,7 +2658,7 @@ SpinBox - + QLayout::SetDefaultConstraint @@ -2960,7 +3046,7 @@ SpinBox false - + 6 @@ -3031,7 +3117,7 @@ SpinBox false - + 4 @@ -3173,7 +3259,7 @@ SpinBox - + QLayout::SetDefaultConstraint @@ -3555,7 +3641,7 @@ SpinBox Show - + 6 @@ -3605,7 +3691,7 @@ SpinBox false - + 6 @@ -3639,7 +3725,7 @@ SpinBox - + Qt::Vertical @@ -3649,7 +3735,7 @@ SpinBox 20 - 40 + 5 @@ -3663,7 +3749,7 @@ SpinBox Full list of available variations and their weights for the currently selected xform. - + 6 @@ -3677,7 +3763,7 @@ SpinBox 6 - + 5 @@ -3888,7 +3974,7 @@ SpinBox Xaos - + 6 @@ -4057,7 +4143,7 @@ SpinBox false - + 6 @@ -4105,7 +4191,7 @@ SpinBox - + 4 @@ -4288,14 +4374,12 @@ SpinBox - XformsTabWidget - XformWeightNameTable Palette - + QLayout::SetDefaultConstraint @@ -4600,409 +4684,510 @@ SpinBox + + + + + + + 255 + 255 + 255 + + + + + + + + + 255 + 255 + 255 + + + + + + + + + 255 + 255 + 255 + + + + + + + + false + Info - + - 5 + 0 - 6 + 3 - 5 + 0 - 6 + 3 5 - - - - 0 - 0 - + + + false - - - 0 - 250 - + + QFrame::NoFrame - - - 16777215 - 250 - + + QFrame::Raised - - Histogram Bounds + + 1 - - - 4 - - - 6 - - - 2 - - - 6 - - - 6 - - - - - - 0 - 0 - - - - - 0 - 173 - - - - - 16777215 - 173 - - - - QFrame::Box - - - QFrame::Plain - - - - 2 - - - 2 - - - 2 - - - 2 - - - 2 - - - - - UL: - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - LR: - - - Qt::AlignBottom|Qt::AlignRight|Qt::AlignTrailing - - - - - - - UR: - - - Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing - - - - - - - H: - - - - - - - LL: - - - Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft - - - - - - - W: - - - Qt::AlignHCenter|Qt::AlignTop - - - - - - - - - - - 0 - 0 - - - - - 0 - 46 - - - - - 16777215 - 46 - - - - - true - - - - Qt::NoFocus - - - - - - QFrame::Panel - - - QFrame::Plain - - - 1 - - - Qt::ScrollBarAlwaysOff - - - Qt::ScrollBarAlwaysOff - - - false - - - QAbstractItemView::NoEditTriggers - - - false - - - false - - - false - - - QAbstractItemView::NoSelection - - - QAbstractItemView::ScrollPerPixel - - - QAbstractItemView::ScrollPerPixel - - - true - - - Qt::SolidLine - - - false - - - false - - - 2 - - - false - - - false - - - 110 - - - false - - - 27 - - - true - - - false - - - 22 - - - false - - - 22 - - - false - - - - Gutter - - - - - DE Box Dimensions - - - - - Field - - - - - - - - - - Gutter - - - - - 0 - - - - - DE Box Dimensions - - - - - 0 - - - - true - - - - AlignLeft|AlignVCenter - - - - - - - - - - - - 0 - 0 - + + true - - File Opening - - - - 4 + + + + 0 + 0 + 256 + 861 + - - 6 + + + 0 + 0 + - - 4 + + true - - 6 - - - 6 - - - - - true - - - - - - - - - - - 0 - 0 - - - - Rendering - - - - 4 - - - 6 - - - 4 - - - 6 - - - 6 - - - - - true - - - - + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + 0 + + + + + 0 + 250 + + + + + 16777215 + 250 + + + + false + + + Histogram Bounds + + + + 4 + + + 6 + + + 2 + + + 6 + + + 6 + + + + + + 0 + 0 + + + + + 0 + 173 + + + + + 16777215 + 173 + + + + false + + + QFrame::Box + + + QFrame::Plain + + + + 2 + + + 2 + + + 2 + + + 2 + + + 2 + + + + + UL: + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + LR: + + + Qt::AlignBottom|Qt::AlignRight|Qt::AlignTrailing + + + + + + + UR: + + + Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing + + + + + + + H: + + + + + + + LL: + + + Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + + + + W: + + + Qt::AlignHCenter|Qt::AlignTop + + + + + + + + + + + 0 + 0 + + + + + 0 + 46 + + + + + 16777215 + 46 + + + + + true + + + + Qt::NoFocus + + + + + + QFrame::Panel + + + QFrame::Plain + + + 1 + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAlwaysOff + + + false + + + QAbstractItemView::NoEditTriggers + + + false + + + false + + + false + + + QAbstractItemView::NoSelection + + + QAbstractItemView::ScrollPerPixel + + + QAbstractItemView::ScrollPerPixel + + + true + + + Qt::SolidLine + + + false + + + false + + + 2 + + + false + + + false + + + 110 + + + false + + + 27 + + + true + + + false + + + 22 + + + false + + + 22 + + + false + + + + Gutter + + + + + DE Box Dimensions + + + + + Field + + + + + + + + + + Gutter + + + + + 0 + + + + + DE Box Dimensions + + + + + 0 + + + + true + + + + AlignLeft|AlignVCenter + + + + + + + + + + + + 0 + 0 + + + + Rendering + + + + 4 + + + 6 + + + 4 + + + 6 + + + 6 + + + + + true + + + + + + + + + + + 0 + 0 + + + + File Opening + + + + 4 + + + 6 + + + 4 + + + 6 + + + 6 + + + + + true + + + + + + + + diff --git a/Source/Fractorium/FractoriumParams.cpp b/Source/Fractorium/FractoriumParams.cpp index 66c995d..e709723 100644 --- a/Source/Fractorium/FractoriumParams.cpp +++ b/Source/Fractorium/FractoriumParams.cpp @@ -8,6 +8,7 @@ void Fractorium::InitParamsUI() { int row = 0; int spinHeight = 20; + double dmax = numeric_limits::max(); vector comboVals; QTableWidget* table = ui.ColorTable; @@ -84,10 +85,10 @@ void Fractorium::InitParamsUI() //Iteration. row = 0; table = ui.IterationTable; - SetupSpinner (table, this, row, 1, m_PassesSpin, spinHeight, 1, 3, 1, SIGNAL(valueChanged(int)), SLOT(OnPassesChanged(int)), true, 1, 1, 1); - SetupSpinner (table, this, row, 1, m_TemporalSamplesSpin, spinHeight, 1, 5000, 50, SIGNAL(valueChanged(int)), SLOT(OnTemporalSamplesChanged(int)), true, 1000); - SetupSpinner(table, this, row, 1, m_QualitySpin, spinHeight, 1, 200000, 50, SIGNAL(valueChanged(double)), SLOT(OnQualityChanged(double)), true, 10, 10, 10); - SetupSpinner (table, this, row, 1, m_SupersampleSpin, spinHeight, 1, 4, 1, SIGNAL(valueChanged(int)), SLOT(OnSupersampleChanged(int)), true, 1, 1, 1); + SetupSpinner (table, this, row, 1, m_PassesSpin, spinHeight, 1, 3, 1, SIGNAL(valueChanged(int)), SLOT(OnPassesChanged(int)), true, 1, 1, 1); + SetupSpinner (table, this, row, 1, m_TemporalSamplesSpin, spinHeight, 1, 5000, 50, SIGNAL(valueChanged(int)), SLOT(OnTemporalSamplesChanged(int)), true, 1000); + SetupSpinner(table, this, row, 1, m_QualitySpin, spinHeight, 1, dmax, 50, SIGNAL(valueChanged(double)), SLOT(OnQualityChanged(double)), true, 10, 10, 10); + SetupSpinner (table, this, row, 1, m_SupersampleSpin, spinHeight, 1, 4, 1, SIGNAL(valueChanged(int)), SLOT(OnSupersampleChanged(int)), true, 1, 1, 1); comboVals.clear(); comboVals.push_back("Step");