/** * Mandelbulber v2, a 3D fractal generator _%}}i*<. ____ _______ * Copyright (C) 2017 Mandelbulber Team _>]|=||i=i<, / __ \___ ___ ___ / ___/ / * \><||i|=>>%) / /_/ / _ \/ -_) _ \/ /__/ /__ * This file is part of Mandelbulber. )<=i=]=|=i<> \____/ .__/\__/_//_/\___/____/ * The project is licensed under GPLv3, -<>>=|><|||` /_/ * see also COPYING file in this folder. ~+{i%+++ * * Adds Cpixel constant to z vector. Possible to swap Cpixel vector axes. * This file has been autogenerated by tools/populateUiInformation.php * from the file "fractal_transf_add_cpixel_axis_swap.cpp" in the folder formula/definition * D O N O T E D I T T H I S F I L E ! */ REAL4 TransfAddCpixelAxisSwapIteration(REAL4 z, __constant sFractalCl *fractal, sExtendedAuxCl *aux) { REAL4 c = aux->const_c; REAL4 tempC = c; if (fractal->transformCommon.alternateEnabledFalse) // alternate { tempC = aux->c; switch (fractal->mandelbulbMulti.orderOfXYZ) { case multi_OrderOfXYZCl_xyz: default: tempC = (REAL4){tempC.x, tempC.y, tempC.z, tempC.w}; break; case multi_OrderOfXYZCl_xzy: tempC = (REAL4){tempC.x, tempC.z, tempC.y, tempC.w}; break; case multi_OrderOfXYZCl_yxz: tempC = (REAL4){tempC.y, tempC.x, tempC.z, tempC.w}; break; case multi_OrderOfXYZCl_yzx: tempC = (REAL4){tempC.y, tempC.z, tempC.x, tempC.w}; break; case multi_OrderOfXYZCl_zxy: tempC = (REAL4){tempC.z, tempC.x, tempC.y, tempC.w}; break; case multi_OrderOfXYZCl_zyx: tempC = (REAL4){tempC.z, tempC.y, tempC.x, tempC.w}; break; } aux->c = tempC; } else { switch (fractal->mandelbulbMulti.orderOfXYZ) { case multi_OrderOfXYZCl_xyz: default: tempC = (REAL4){c.x, c.y, c.z, c.w}; break; case multi_OrderOfXYZCl_xzy: tempC = (REAL4){c.x, c.z, c.y, c.w}; break; case multi_OrderOfXYZCl_yxz: tempC = (REAL4){c.y, c.x, c.z, c.w}; break; case multi_OrderOfXYZCl_yzx: tempC = (REAL4){c.y, c.z, c.x, c.w}; break; case multi_OrderOfXYZCl_zxy: tempC = (REAL4){c.z, c.x, c.y, c.w}; break; case multi_OrderOfXYZCl_zyx: tempC = (REAL4){c.z, c.y, c.x, c.w}; break; } } z += tempC * fractal->transformCommon.constantMultiplier111; return z; }