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");