mirror of
https://bitbucket.org/mfeemster/fractorium.git
synced 2025-06-30 21:36:33 -04:00
--User changes
-Add two new variations, hyperbolic and hypershift2. -Allow for animating final xforms. -More detailed diagnostics when any action in the OpenCL renderer fails. -Allow for creating an OpenCL renderer which does not share a texture with the main window, and instead manually copies its final output image from GPU to CPU then back to GPU. --Bug fixes -Text was not properly being copied out of the Info | Bounds text box. --Code changes -Remove Renderer::AccumulatorToFinalImage(v4F* pixels, size_t finalOffset), it's no longer needed or makes sense. -Controllers no longer keep track of shared status, it's kept inside the renderers. -Make getter functions in FractoriumOptionsDialog be public.
This commit is contained in:
@ -998,17 +998,19 @@ public:
|
||||
/// <param name="angle">The angle to rotate by</param>
|
||||
void RotateAffines(T angle)
|
||||
{
|
||||
for (size_t i = 0; i < XformCount(); i++)//Only look at normal xforms, exclude final.
|
||||
size_t i = 0;
|
||||
|
||||
while (auto xform = GetTotalXform(i++))//Flam3 only allowed animation with normal xforms. This has been changed to allow animations of final xforms.
|
||||
{
|
||||
//Don't rotate xforms with animate set to 0.
|
||||
if (m_Xforms[i].m_Animate == 0)
|
||||
if (xform->m_Animate == 0)
|
||||
continue;
|
||||
|
||||
//Assume that if there are no variations, then it's a padding xform.
|
||||
if (m_Xforms[i].Empty() && m_AffineInterp != eAffineInterp::AFFINE_INTERP_LOG)
|
||||
if (xform->Empty() && m_AffineInterp != eAffineInterp::AFFINE_INTERP_LOG)
|
||||
continue;
|
||||
|
||||
m_Xforms[i].m_Affine.Rotate(angle * DEG_2_RAD_T);
|
||||
xform->m_Affine.Rotate(angle * DEG_2_RAD_T);
|
||||
//Don't rotate post.
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user