mirror of
				https://bitbucket.org/mfeemster/fractorium.git
				synced 2025-10-31 01:10:24 -04:00 
			
		
		
		
	--Code changes
-Make usage of VarFuncs more consistent by moving some global functions there. -Make CircleTrans1 a little safer by calling Zeps() on m_Sc during precalc. -Begin prepping for 0.9.9.5 release.
This commit is contained in:
		| @ -1523,7 +1523,7 @@ public: | ||||
| 		T dx, dy; | ||||
| 		T rnx = m_Rnd * rand.Frand01<T>(); | ||||
| 		T rny = m_Rnd * rand.Frand01<T>(); | ||||
| 		int isXY = int(LRint(helper.In.x * m_Cs) + LRint(helper.In.y * m_Cs)); | ||||
| 		int isXY = int(VarFuncs<T>::LRint(helper.In.x * m_Cs) + VarFuncs<T>::LRint(helper.In.y * m_Cs)); | ||||
|  | ||||
| 		if (isXY & 1) | ||||
| 		{ | ||||
| @ -1852,12 +1852,12 @@ public: | ||||
| 	{ | ||||
| 		T x = T(0.5) * helper.In.x + T(0.5); | ||||
| 		T y = T(0.5) * helper.In.y + T(0.5); | ||||
| 		T bx = Fabsmod<T>(m_Fr * x); | ||||
| 		T by = Fabsmod<T>(m_Fr * y); | ||||
| 		T oscnapx = Foscn<T>(m_AmountX, m_Px); | ||||
| 		T oscnapy = Foscn<T>(m_AmountY, m_Py); | ||||
| 		helper.Out.x = -1 + m_Vv2 * Lerp<T>(Lerp(x, Fosc(x, T(4), m_Px), oscnapx), Fosc(bx, T(4), m_Px), oscnapx);//Original did a direct assignment to outPoint, which is incompatible with Ember's design. | ||||
| 		helper.Out.y = -1 + m_Vv2 * Lerp<T>(Lerp(y, Fosc(y, T(4), m_Py), oscnapy), Fosc(by, T(4), m_Py), oscnapy); | ||||
| 		T bx = VarFuncs<T>::Fabsmod(m_Fr * x); | ||||
| 		T by = VarFuncs<T>::Fabsmod(m_Fr * y); | ||||
| 		T oscnapx = VarFuncs<T>::Foscn(m_AmountX, m_Px); | ||||
| 		T oscnapy = VarFuncs<T>::Foscn(m_AmountY, m_Py); | ||||
| 		helper.Out.x = -1 + m_Vv2 * Lerp<T>(Lerp<T>(x, VarFuncs<T>::Fosc(x, T(4), m_Px), oscnapx), VarFuncs<T>::Fosc(bx, T(4), m_Px), oscnapx);//Original did a direct assignment to outPoint, which is incompatible with Ember's design. | ||||
| 		helper.Out.y = -1 + m_Vv2 * Lerp<T>(Lerp<T>(y, VarFuncs<T>::Fosc(y, T(4), m_Py), oscnapy), VarFuncs<T>::Fosc(by, T(4), m_Py), oscnapy); | ||||
| 		helper.Out.z = DefaultZ(helper); | ||||
| 	} | ||||
|  | ||||
| @ -2463,8 +2463,8 @@ public: | ||||
|  | ||||
| 	virtual void Func(IteratorHelper<T>& helper, Point<T>& outPoint, QTIsaac<ISAAC_SIZE, ISAAC_INT>& rand) override | ||||
| 	{ | ||||
| 		T x = LRint(helper.In.x); | ||||
| 		T y = LRint(helper.In.y); | ||||
| 		T x = VarFuncs<T>::LRint(helper.In.x); | ||||
| 		T y = VarFuncs<T>::LRint(helper.In.y); | ||||
|  | ||||
| 		if (y <= 0) | ||||
| 		{ | ||||
| @ -4210,8 +4210,8 @@ public: | ||||
| 	{ | ||||
| 		T xp = std::pow(std::abs(m_Weight) * std::abs(helper.In.x), m_Powx);//Original did not fabs. | ||||
| 		T yp = std::pow(std::abs(m_Weight) * std::abs(helper.In.y), m_Powy); | ||||
| 		helper.Out.x = xp * Sign(helper.In.x) + m_Lcx * helper.In.x + m_Scx; | ||||
| 		helper.Out.y = yp * Sign(helper.In.y) + m_Lcy * helper.In.y + m_Scy; | ||||
| 		helper.Out.x = xp * VarFuncs<T>::Sign(helper.In.x) + m_Lcx * helper.In.x + m_Scx; | ||||
| 		helper.Out.y = yp * VarFuncs<T>::Sign(helper.In.y) + m_Lcy * helper.In.y + m_Scy; | ||||
| 		helper.Out.z = m_Weight * helper.In.z; | ||||
| 	} | ||||
|  | ||||
| @ -5199,8 +5199,8 @@ public: | ||||
| 		T u = (dot11 * dot02 - dot01 * dot12) * invDenom; | ||||
| 		T v = (dot00 * dot12 - dot01 * dot02) * invDenom; | ||||
| 		// now combine with input | ||||
| 		T um = std::sqrt(SQR(u) + SQR(helper.In.x)) * Sign<T>(u); | ||||
| 		T vm = std::sqrt(SQR(v) + SQR(helper.In.y)) * Sign<T>(v); | ||||
| 		T um = std::sqrt(SQR(u) + SQR(helper.In.x)) * VarFuncs<T>::Sign(u); | ||||
| 		T vm = std::sqrt(SQR(v) + SQR(helper.In.y)) * VarFuncs<T>::Sign(v); | ||||
| 		helper.Out.x = m_Weight * um; | ||||
| 		helper.Out.y = m_Weight * vm; | ||||
| 		helper.Out.z = m_Weight * helper.In.z; | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 mfeemster
					mfeemster