mirror of
https://bitbucket.org/mfeemster/fractorium.git
synced 2025-01-21 05:00:06 -05:00
--Bug fixes
-Fix crash when creating a dummy renderer when showing the final render dialog. -Fix default tab size with new version of Qt.
This commit is contained in:
parent
6d38e57b38
commit
7a343606b4
@ -13,7 +13,7 @@
|
||||
<!--
|
||||
Change this for every release.
|
||||
-->
|
||||
<?define ProductCode="{FCEA107E-1FEE-4510-8361-6509749BEF80}"?>
|
||||
<?define ProductCode="{4E5EFBC9-8572-4B82-A99E-A275DEA7A609}"?>
|
||||
|
||||
<Product Id="$(var.ProductCode)" Name="$(var.ProductName)" Language="1033" Version="$(var.ProductVersion)" Manufacturer="$(var.Manufacturer)" UpgradeCode="$(var.UpgradeCode)">
|
||||
<Package
|
||||
|
@ -1,8 +1,8 @@
|
||||
1.0.0.7 11/26/2017
|
||||
1.0.0.7 12/21/2017
|
||||
--User changes
|
||||
-Support 4k monitors, and in general, properly scale any monitor that is not HD.
|
||||
-Allow for a spatial filter of radius zero, which means do not use a spatial filter.
|
||||
-Add new variations: concentric, cpow3, helicoid, helix, rand_cubes, sphereblur.
|
||||
-Add new variations: concentric, cpow3, helicoid, helix, rand_cubes, rays1, rays2, rays3, sphereblur.
|
||||
-Use a new method for computing elliptic which is more precise. Developed by Discord user Claude.
|
||||
-Remove the 8 variation per xform limitation on the GPU.
|
||||
-Allow for loading the last flame file on startup, rather than randoms.
|
||||
@ -13,6 +13,10 @@
|
||||
-No variations in an xform used to have the same behavior as a single linear variation with weight 1. While sensible, this breaks backward compatibility. No variations now sets the output point to zeroes.
|
||||
-Prevent crashing the program when adjusting a value on the main window while a final render is in progress.
|
||||
-The xaos table was inverted.
|
||||
-Place the xforms and palette tabs in a scroll area to prevent weird sizing problems on low resolution monitors.
|
||||
-Allow group dragging and floating of dock widgets.
|
||||
-Make some tables auto size to their contents because some text appeared obscured on Linux.
|
||||
-Opening an Xml was not properly setting the background field on the GUI, even though it was correctly parsed and used.
|
||||
|
||||
--Code changes
|
||||
-Convert projects to Visual Studio 2017.
|
||||
|
@ -2,7 +2,7 @@
|
||||
This is needed to deal with the large tabs in the fusion theme which is the default on Linux, and optional on Windows.
|
||||
It's not needed for other themes.
|
||||
You should keep this at the top of whatever custom style you make to ensure the tabs aren't unusually large.*/
|
||||
QTabBar::tab { height: 5ex; }
|
||||
QTabBar::tab { height: 3ex; }
|
||||
|
||||
/*This is needed to give the labels on the status bar some padding.*/
|
||||
QStatusBar QLabel { padding-left: 2px; padding-right: 2px; }
|
||||
|
@ -497,7 +497,7 @@ static QString BaseStyle()
|
||||
#ifndef _WIN32
|
||||
"QTabBar::tab { height: 3ex; }\n\n"
|
||||
#else
|
||||
"QTabBar::tab { height: 5ex; }\n\n"
|
||||
"QTabBar::tab { height: 3ex; }\n\n"
|
||||
#endif
|
||||
"/*This is needed to give the labels on the status bar some padding.*/\n"
|
||||
"QStatusBar QLabel { padding-left: 2px; padding-right: 2px; }\n\n"
|
||||
|
@ -243,6 +243,7 @@ public:
|
||||
virtual bool CreateRenderer(eRendererType renderType, const vector<pair<size_t, size_t>>& devices, bool updatePreviews, bool shared = true) { return false; }
|
||||
virtual uint SizeOfT() const { return 0; }
|
||||
virtual void ClearUndo() { }
|
||||
virtual void DeleteRenderer() { }
|
||||
virtual GLEmberControllerBase* GLController() { return nullptr; }
|
||||
bool RenderTimerRunning();
|
||||
void StartRenderTimer();
|
||||
@ -251,7 +252,6 @@ public:
|
||||
void ClearFinalImages();
|
||||
void Shutdown();
|
||||
void UpdateRender(eProcessAction action = eProcessAction::FULL_RENDER);
|
||||
void DeleteRenderer();
|
||||
void SaveCurrentRender(const QString& filename, const EmberImageComments& comments, vector<v4F>& pixels, size_t width, size_t height, bool png16Bit, bool transparency);
|
||||
RendererBase* Renderer() { return m_Renderer.get(); }
|
||||
vector<v4F>* FinalImage() { return &(m_FinalImage); }
|
||||
@ -515,6 +515,7 @@ public:
|
||||
virtual int ProgressFunc(Ember<T>& ember, void* foo, double fraction, int stage, double etaMs) override;
|
||||
virtual void ClearUndo() override;
|
||||
virtual GLEmberControllerBase* GLController() override { return m_GLController.get(); }
|
||||
virtual void DeleteRenderer() override;
|
||||
|
||||
private:
|
||||
//Embers.
|
||||
|
@ -93,11 +93,14 @@ void FractoriumEmberControllerBase::UpdateRender(eProcessAction action)
|
||||
|
||||
/// <summary>
|
||||
/// Call Shutdown() then delete the renderer and clear the textures in the output window if there is one.
|
||||
/// Note the name is somewhat misleading because a new empty renderer is actually created as a placeholder.
|
||||
/// This is that the program won't crash if the user adjusts any of the controls while the renderer is shut down.
|
||||
/// </summary>
|
||||
void FractoriumEmberControllerBase::DeleteRenderer()
|
||||
template <typename T>
|
||||
void FractoriumEmberController<T>::DeleteRenderer()
|
||||
{
|
||||
Shutdown();
|
||||
m_Renderer = make_unique<EmberNs::Renderer<float, float>>();
|
||||
m_Renderer = make_unique<EmberNs::Renderer<T, float>>();
|
||||
|
||||
if (GLController())
|
||||
GLController()->ClearWindow();
|
||||
|
@ -120,8 +120,8 @@ void Fractorium::OnAddXformButtonClicked(bool checked) { m_Controller->AddXform(
|
||||
/// From: All xaos values from the current xform are zero when going to any xform but the new one added, which is 1.
|
||||
/// To: The xaos value coming from the current xform is 1 and the xaos values from all other xforms are 0, when going to the newly added xform.
|
||||
/// Take different action when a single xform is selected vs. multiple.
|
||||
/// Single: Copy current xform's xaos values to the new one.
|
||||
/// Multiple: Set new xform's xaos values to 1, and except the last entry which is 0.
|
||||
/// Single: Copy the current xform's xaos values to the new one.
|
||||
/// Multiple: Set the new xform's xaos values to 1, and except the last entry which is 0.
|
||||
/// Called when the add xform button is clicked.
|
||||
/// Resets the rendering process.
|
||||
/// </summary>
|
||||
|
Loading…
Reference in New Issue
Block a user