mirror of
https://bitbucket.org/mfeemster/fractorium.git
synced 2025-07-12 03:04:51 -04:00
--User changes
-Better handling of crossed min/max DE filter values on the GUI. -Changes to spatial and density filter values will no longer restart the entire render. -Support reading cam_zoom from xml as zoom since JWildfire uses cam_zoom. -Change drag n drop behavior: the default is now to append, hold Ctrl to overwrite. -Set max value of zoom to 25 because it will crash with values around 28 or 29 due to numeric overflow when scaling quality. -Update links in About Dialog. -Rename some controls in Options Dialog. -Move the color curves control to the Palette tab. --Bug fixes -Remove extra space in info tree text when dealing with a linked xform. -Update summary xform name field whenever xform name changes. -Get rid of selection border on summary tab xform tree cells. -Only add variations from Xml that have a non-zero weight. There seemed to be spurious flattens coming from Apo with a weight of 0. --Code changes -Gutters are now a fixed size of 8 * supersample. -Use stl data() member to get pointer to first element instead of &vec[0]. -Eliminate extra calls in renderer to ComputeBounds(), CreateSpatialFilter() and CreateTemporalFilter() to only be done at the start of a render. -Another attempt at vectorizing LogScaleDensityFilter(). Vectorizes, but not sure if it helps. -Some other loop optimizations in Renderer. -No longer check temporal samples in response to some control changes, they are always 1 in the interactive renderer.
This commit is contained in:
@ -68,7 +68,7 @@ public:
|
||||
/// <summary>
|
||||
/// Accessors.
|
||||
/// </summary>
|
||||
const byte* XformDistributions() const { return m_XformDistributions.empty() ? nullptr : &m_XformDistributions[0]; }
|
||||
const byte* XformDistributions() const { return m_XformDistributions.empty() ? nullptr : m_XformDistributions.data(); }
|
||||
size_t XformDistributionsSize() const { return m_XformDistributions.size(); }
|
||||
|
||||
/// <summary>
|
||||
@ -308,9 +308,9 @@ public:
|
||||
Point<T> tempPoint, p1;
|
||||
auto xforms = ember.NonConstXforms();
|
||||
|
||||
if (ember.ProjBits())
|
||||
if (ember.ProjBits())//No xaos, 3D.
|
||||
{
|
||||
if (ember.UseFinalXform())
|
||||
if (ember.UseFinalXform())//No xaos, 3D, final.
|
||||
{
|
||||
p1 = samples[0];
|
||||
|
||||
@ -332,7 +332,7 @@ public:
|
||||
ember.Proj(samples[i], rand);
|
||||
}
|
||||
}
|
||||
else
|
||||
else//No xaos, 3D, no final.
|
||||
{
|
||||
p1 = samples[0];
|
||||
|
||||
@ -355,9 +355,9 @@ public:
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
else//No xaos, no 3D.
|
||||
{
|
||||
if (ember.UseFinalXform())
|
||||
if (ember.UseFinalXform())//No xaos, no 3D, final.
|
||||
{
|
||||
p1 = samples[0];
|
||||
|
||||
@ -377,7 +377,7 @@ public:
|
||||
DoFinalXform(ember, p1, samples + i, rand);
|
||||
}
|
||||
}
|
||||
else
|
||||
else//No xaos, no 3D, no final.
|
||||
{
|
||||
p1 = samples[0];
|
||||
|
||||
@ -475,9 +475,9 @@ public:
|
||||
Point<T> tempPoint, p1;
|
||||
auto xforms = ember.NonConstXforms();
|
||||
|
||||
if (ember.ProjBits())
|
||||
if (ember.ProjBits())//Xaos, 3D.
|
||||
{
|
||||
if (ember.UseFinalXform())
|
||||
if (ember.UseFinalXform())//Xaos, 3D, final.
|
||||
{
|
||||
p1 = samples[0];
|
||||
|
||||
@ -506,7 +506,7 @@ public:
|
||||
lastXformUsed = xformIndex + 1;//Store the last used transform.
|
||||
}
|
||||
}
|
||||
else
|
||||
else//Xaos, 3D, no final.
|
||||
{
|
||||
p1 = samples[0];
|
||||
|
||||
@ -536,9 +536,9 @@ public:
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
else//Xaos, no 3D.
|
||||
{
|
||||
if (ember.UseFinalXform())
|
||||
if (ember.UseFinalXform())//Xaos, no 3D, final.
|
||||
{
|
||||
p1 = samples[0];
|
||||
|
||||
@ -565,7 +565,7 @@ public:
|
||||
lastXformUsed = xformIndex + 1;//Store the last used transform.
|
||||
}
|
||||
}
|
||||
else
|
||||
else//Xaos, no 3D, no final.
|
||||
{
|
||||
p1 = samples[0];
|
||||
|
||||
|
Reference in New Issue
Block a user