Esempio n. 1
0
//Float2 Interpolation_C2( Float2 x ) { return (x*x).Square().Mul((x * ((x * 6.0f) - 15.0f)).Add(10.0f)); }
void FastHash2D(Float2 Pos,out Float4 hash_0, out Float4 hash_1, out Float4 hash_2){
	Float2 Offset = new Float2(26,161);
	Float Domain = 71f;
	Float3 SomeLargeFloats = new Float3(951.135664f,642.9478304f,803.202459f);
	Float4 P = new Float4(Pos,Pos+1);
	P = P.Sub(floor(P.Mul((1.0f/Domain)),true).Mul(Domain));
	P.Add(Offset.xyxy);
	P.Square();
	P = P.xzxz*P.yyww;
	hash_0 = frac(P*(1f/SomeLargeFloats.x),true);
	hash_1 = frac(P*(1f/SomeLargeFloats.y),true);
	hash_2 = frac(P*(1f/SomeLargeFloats.z),true);
}
Esempio n. 2
-1
Float4 FastHash2D(Float2 Pos){
	Float2 Offset = new Float2(26,161);
	Float Domain = 71;
	Float SomeLargeFloat = 951.135664f;
	Float4 P = new Float4(Pos.xy,Pos.xy+1);
	//P = P-floor(P*(1.0f/Domain))*Domain;
	P = P-floor((P+0).Mul(1.0f/Domain),true).Mul(Domain);
	P.Add(Offset.xyxy);
	P.Square();
	return frac(P.xzxz.Mul(P.yyww).Mul(1.0f/SomeLargeFloat),false);
}