551 public static float Noise(
float x,
float y) {
552 float num = (x + y) * 0.366025418f;
553 int num2 = (int)MathF.Floor(x + num);
554 int num3 = (int)MathF.Floor(y + num);
555 float num4 = (num2 + num3) * 0.211324871f;
556 float num5 = num2 - num4;
557 float num6 = num3 - num4;
558 float num7 = x - num5;
559 float num8 = y - num6;
570 float num11 = num7 - num9 + 0.211324871f;
571 float num12 = num8 - num10 + 0.211324871f;
572 float num13 = num7 - 1f + 0.422649741f;
573 float num14 = num8 - 1f + 0.422649741f;
574 int num15 = num2 & 0xFF;
575 int num16 = num3 & 0xFF;
579 float num20 = 0.5f - num7 * num7 - num8 * num8;
586 num21 = num20 * num20 *
Dot(
m_grad3[num17], num7, num8);
588 float num22 = 0.5f - num11 * num11 - num12 * num12;
595 num23 = num22 * num22 *
Dot(
m_grad3[num18], num11, num12);
597 float num24 = 0.5f - num13 * num13 - num14 * num14;
604 num25 = num24 * num24 *
Dot(
m_grad3[num19], num13, num14);
606 return 35f * (num21 + num23 + num25) + 0.5f;
609 public static float Noise(
float x,
float y,
float z) {
610 float num = (x + y + z) * 0.333333343f;
611 int num2 = (int)MathF.Floor(x + num);
612 int num3 = (int)MathF.Floor(y + num);
613 int num4 = (int)MathF.Floor(z + num);
614 float num5 = (num2 + num3 + num4) * (355f / (678f * (
float)Math.PI));
615 float num6 = num2 - num5;
616 float num7 = num3 - num5;
617 float num8 = num4 - num5;
618 float num9 = x - num6;
619 float num10 = y - num7;
620 float num11 = z - num8;
628 if (num10 >= num11) {
636 else if (num9 >= num11) {
653 else if (num10 < num11) {
661 else if (num9 < num11) {
677 float num18 = num9 - num12 + 355f / (678f * (float)Math.PI);
678 float num19 = num10 - num13 + 355f / (678f * (float)Math.PI);
679 float num20 = num11 - num14 + 355f / (678f * (float)Math.PI);
680 float num21 = num9 - num15 + 0.333333343f;
681 float num22 = num10 - num16 + 0.333333343f;
682 float num23 = num11 - num17 + 0.333333343f;
683 float num24 = num9 - 1f + 0.5f;
684 float num25 = num10 - 1f + 0.5f;
685 float num26 = num11 - 1f + 0.5f;
686 int num27 = num2 & 0xFF;
687 int num28 = num3 & 0xFF;
688 int num29 = num4 & 0xFF;
693 float num34 = 0.6f - num9 * num9 - num10 * num10 - num11 * num11;
700 num35 = num34 * num34 *
Dot(
m_grad3[num30], num9, num10, num11);
702 float num36 = 0.6f - num18 * num18 - num19 * num19 - num20 * num20;
709 num37 = num36 * num36 *
Dot(
m_grad3[num31], num18, num19, num20);
711 float num38 = 0.6f - num21 * num21 - num22 * num22 - num23 * num23;
718 num39 = num38 * num38 *
Dot(
m_grad3[num32], num21, num22, num23);
720 float num40 = 0.6f - num24 * num24 - num25 * num25 - num26 * num26;
727 num41 = num40 * num40 *
Dot(
m_grad3[num33], num24, num25, num26);
729 return 16f * (num35 + num37 + num39 + num41) + 0.5f;
771 bool ridged =
false) {
775 for (
int i = 0; i < octaves; i++) {
776 num += num3 *
Noise(x * frequency, y * frequency, z * frequency);
778 frequency *= frequencyStep;
779 num3 *= amplitudeStep;
781 return !ridged ? num / num2 : 1f - MathF.Abs(2f * num / num2 - 1f);