Permalink
Browse files

Bugfix for OptimizedPerlin. Correcting inline Math.floor

  • Loading branch information...
1 parent 76c20c2 commit cc6d767efccac6d8a84dee3c46b68fd054dd736a @skyboy committed Jan 19, 2012
Showing with 87 additions and 89 deletions.
  1. +87 −89 skyboy/math/OptimizedPerlin.as
@@ -12,62 +12,60 @@ package skyboy.math { /*nl.ronvalstar.math*/
import flash.display.BitmapData;
final public class OptimizedPerlin {
- //{
- private static const p:Vector.<int> = new <int>[
- 151,160,137,91,90,15,131,13,201,95,
- 96,53,194,233,7,225,140,36,103,30,69,
- 142,8,99,37,240,21,10,23,190,6,148,
- 247,120,234,75,0,26,197,62,94,252,
- 219,203,117,35,11,32,57,177,33,88,
- 237,149,56,87,174,20,125,136,171,
- 168,68,175,74,165,71,134,139,48,27,
- 166,77,146,158,231,83,111,229,122,
- 60,211,133,230,220,105,92,41,55,46,
- 245,40,244,102,143,54,65,25,63,161,
- 1,216,80,73,209,76,132,187,208,89,
- 18,169,200,196,135,130,116,188,159,
- 86,164,100,109,198,173,186,3,64,52,
- 217,226,250,124,123,5,202,38,147,118,
- 126,255,82,85,212,207,206,59,227,47,
- 16,58,17,182,189,28,42,223,183,170,
- 213,119,248,152,2,44,154,163,70,221,
- 153,101,155,167,43,172,9,129,22,39,
- 253,19,98,108,110,79,113,224,232,
- 178,185,112,104,218,246,97,228,251,
- 34,242,193,238,210,144,12,191,179,
- 162,241,81,51,145,235,249,14,239,
- 107,49,192,214,31,181,199,106,157,
- 184,84,204,176,115,121,50,45,127,4,
- 150,254,138,236,205,93,222,114,67,29,
- 24,72,243,141,128,195,78,66,215,61,
- 156,180,151,160,137,91,90,15,131,13,
- 201,95,96,53,194,233,7,225,140,36,
- 103,30,69,142,8,99,37,240,21,10,23,
- 190,6,148,247,120,234,75,0,26,197,
- 62,94,252,219,203,117,35,11,32,57,
- 177,33,88,237,149,56,87,174,20,125,
- 136,171,168,68,175,74,165,71,134,139,
- 48,27,166,77,146,158,231,83,111,229,
- 122,60,211,133,230,220,105,92,41,55,
- 46,245,40,244,102,143,54,65,25,63,
- 161,1,216,80,73,209,76,132,187,208,
- 89,18,169,200,196,135,130,116,188,
- 159,86,164,100,109,198,173,186,3,64,
- 52,217,226,250,124,123,5,202,38,147,
- 118,126,255,82,85,212,207,206,59,
- 227,47,16,58,17,182,189,28,42,223,
- 183,170,213,119,248,152,2,44,154,
- 163,70,221,153,101,155,167,43,172,9,
- 129,22,39,253,19,98,108,110,79,113,
- 224,232,178,185,112,104,218,246,97,
- 228,251,34,242,193,238,210,144,12,
- 191,179,162,241,81,51,145,235,249,
- 14,239,107,49,192,214,31,181,199,
- 106,157,184,84,204,176,115,121,50,
- 45,127,4,150,254,138,236,205,93,
- 222,114,67,29,24,72,243,141,128,
- 195,78,66,215,61,156,180];
- //}
+ private static const p:Vector.<int> = new <int>[ //{
+ 151, 160, 137, 91, 90, 15, 131, 13, 201, 95,
+ 96, 53, 194, 233, 7, 225, 140, 36, 103, 30,
+ 69, 142, 8, 99, 37, 240, 21, 10, 23, 190,
+ 6, 148, 247, 120, 234, 75, 0, 26, 197, 62,
+ 94, 252, 219, 203, 117, 35, 11, 32, 57, 177,
+ 33, 88, 237, 149, 56, 87, 174, 20, 125, 136,
+ 171, 168, 68, 175, 74, 165, 71, 134, 139, 48,
+ 27, 166, 77, 146, 158, 231, 83, 111, 229, 122,
+ 60, 211, 133, 230, 220, 105, 92, 41, 55, 46,
+ 245, 40, 244, 102, 143, 54, 65, 25, 63, 161,
+ 1, 216, 80, 73, 209, 76, 132, 187, 208, 89,
+ 18, 169, 200, 196, 135, 130, 116, 188, 159, 86,
+ 164, 100, 109, 198, 173, 186, 3, 64, 52, 217,
+ 226, 250, 124, 123, 5, 202, 38, 147, 118, 126,
+ 255, 82, 85, 212, 207, 206, 59, 227, 47, 16,
+ 58, 17, 182, 189, 28, 42, 223, 183, 170, 213,
+ 119, 248, 152, 2, 44, 154, 163, 70, 221, 153,
+ 101, 155, 167, 43, 172, 9, 129, 22, 39, 253,
+ 19, 98, 108, 110, 79, 113, 224, 232, 178, 185,
+ 112, 104, 218, 246, 97, 228, 251, 34, 242, 193,
+ 238, 210, 144, 12, 191, 179, 162, 241, 81, 51,
+ 145, 235, 249, 14, 239, 107, 49, 192, 214, 31,
+ 181, 199, 106, 157, 184, 84, 204, 176, 115, 121,
+ 50, 45, 127, 4, 150, 254, 138, 236, 205, 93,
+ 222, 114, 67, 29, 24, 72, 243, 141, 128, 195,
+ 78, 66, 215, 61, 156, 180, 151, 160, 137, 91,
+ 90, 15, 131, 13, 201, 95, 96, 53, 194, 233,
+ 7, 225, 140, 36, 103, 30, 69, 142, 8, 99,
+ 37, 240, 21, 10, 23, 190, 6, 148, 247, 120,
+ 234, 75, 0, 26, 197, 62, 94, 252, 219, 203,
+ 117, 35, 11, 32, 57, 177, 33, 88, 237, 149,
+ 56, 87, 174, 20, 125, 136, 171, 168, 68, 175,
+ 74, 165, 71, 134, 139, 48, 27, 166, 77, 146,
+ 158, 231, 83, 111, 229, 122, 60, 211, 133, 230,
+ 220, 105, 92, 41, 55, 46, 245, 40, 244, 102,
+ 143, 54, 65, 25, 63, 161, 1, 216, 80, 73,
+ 209, 76, 132, 187, 208, 89, 18, 169, 200, 196,
+ 135, 130, 116, 188, 159, 86, 164, 100, 109, 198,
+ 173, 186, 3, 64, 52, 217, 226, 250, 124, 123,
+ 5, 202, 38, 147, 118, 126, 255, 82, 85, 212,
+ 207, 206, 59, 227, 47, 16, 58, 17, 182, 189,
+ 28, 42, 223, 183, 170, 213, 119, 248, 152, 2,
+ 44, 154, 163, 70, 221, 153, 101, 155, 167, 43,
+ 172, 9, 129, 22, 39, 253, 19, 98, 108, 110,
+ 79, 113, 224, 232, 178, 185, 112, 104, 218, 246,
+ 97, 228, 251, 34, 242, 193, 238, 210, 144, 12,
+ 191, 179, 162, 241, 81, 51, 145, 235, 249, 14,
+ 239, 107, 49, 192, 214, 31, 181, 199, 106, 157,
+ 184, 84, 204, 176, 115, 121, 50, 45, 127, 4,
+ 150, 254, 138, 236, 205, 93, 222, 114, 67, 29,
+ 24, 72, 243, 141, 128, 195, 78, 66, 215, 61,
+ 156, 180];//}
+
private const p:Vector.<int> = OptimizedPerlin.p;
private var iOctaves:int = 4;
private var fPersistence:Number = .5;
@@ -123,9 +121,9 @@ package skyboy.math { /*nl.ronvalstar.math*/
y = $y * fFreq;
z = $z * fFreq;
- xf = x - (x % 1 + Number(x < 0));//Math.floor(x);
- yf = y - (y % 1 + Number(y < 0));//Math.floor(y);
- zf = z - (z % 1 + Number(z < 0));//Math.floor(z);
+ xf = x % 1; xf = x - (xf + Number(xf < 0));//Math.floor(x);
+ yf = y % 1; yf = y - (yf + Number(yf < 0));//Math.floor(y);
+ zf = z % 1; zf = z - (zf + Number(zf < 0));//Math.floor(z);
X = xf & 255;
Y = yf & 255;
@@ -254,9 +252,9 @@ package skyboy.math { /*nl.ronvalstar.math*/
y = $y * fFreq;
z = $z * fFreq;
- xf = x - (x % 1 + Number(x < 0));//Math.floor(x);
- yf = y - (y % 1 + Number(y < 0));//Math.floor(y);
- zf = z - (z % 1 + Number(z < 0));//Math.floor(z);
+ xf = x % 1; xf = x - (xf + Number(xf < 0));//Math.floor(x);
+ yf = y % 1; yf = y - (yf + Number(yf < 0));//Math.floor(y);
+ zf = z % 1; zf = z - (zf + Number(zf < 0));//Math.floor(z);
X = xf & 255;
Y = yf & 255;
@@ -387,9 +385,9 @@ package skyboy.math { /*nl.ronvalstar.math*/
y = $y * fFreq;
z = $z * fFreq;
- xf = x - (x % 1 + Number(x < 0));//Math.floor(x);
- yf = y - (y % 1 + Number(y < 0));//Math.floor(y);
- zf = z - (z % 1 + Number(z < 0));//Math.floor(z);
+ xf = x % 1; xf = x - (xf + Number(xf < 0));//Math.floor(x);
+ yf = y % 1; yf = y - (yf + Number(yf < 0));//Math.floor(y);
+ zf = z % 1; zf = z - (zf + Number(zf < 0));//Math.floor(z);
X = xf & 255;
Y = yf & 255;
@@ -552,9 +550,9 @@ package skyboy.math { /*nl.ronvalstar.math*/
y = $y * fFreq;
z = $z * fFreq;
- xf = x - (x % 1 + Number(x < 0));//Math.floor(x);
- yf = y - (y % 1 + Number(y < 0));//Math.floor(y);
- zf = z - (z % 1 + Number(z < 0));//Math.floor(z);
+ xf = x % 1; xf = x - (xf + Number(xf < 0));//Math.floor(x);
+ yf = y % 1; yf = y - (yf + Number(yf < 0));//Math.floor(y);
+ zf = z % 1; zf = z - (zf + Number(zf < 0));//Math.floor(z);
X = xf & 255;
Y = yf & 255;
@@ -651,9 +649,9 @@ package skyboy.math { /*nl.ronvalstar.math*/
y = $y2 * fFreq;
z = $z2 * fFreq;
- xf = x - (x % 1 + Number(x < 0));//Math.floor(x);
- yf = y - (y % 1 + Number(y < 0));//Math.floor(y);
- zf = z - (z % 1 + Number(z < 0));//Math.floor(z);
+ xf = x % 1; xf = x - (xf + Number(xf < 0));//Math.floor(x);
+ yf = y % 1; yf = y - (yf + Number(yf < 0));//Math.floor(y);
+ zf = z % 1; zf = z - (zf + Number(zf < 0));//Math.floor(z);
X = xf & 255;
Y = yf & 255;
@@ -750,9 +748,9 @@ package skyboy.math { /*nl.ronvalstar.math*/
y = $y3 * fFreq;
z = $z3 * fFreq;
- xf = x - (x % 1 + Number(x < 0));//Math.floor(x);
- yf = y - (y % 1 + Number(y < 0));//Math.floor(y);
- zf = z - (z % 1 + Number(z < 0));//Math.floor(z);
+ xf = x % 1; xf = x - (xf + Number(xf < 0));//Math.floor(x);
+ yf = y % 1; yf = y - (yf + Number(yf < 0));//Math.floor(y);
+ zf = z % 1; zf = z - (zf + Number(zf < 0));//Math.floor(z);
X = xf & 255;
Y = yf & 255;
@@ -849,9 +847,9 @@ package skyboy.math { /*nl.ronvalstar.math*/
y = $y4 * fFreq;
z = $z4 * fFreq;
- xf = x - (x % 1 + Number(x < 0));//Math.floor(x);
- yf = y - (y % 1 + Number(y < 0));//Math.floor(y);
- zf = z - (z % 1 + Number(z < 0));//Math.floor(z);
+ xf = x % 1; xf = x - (xf + Number(xf < 0));//Math.floor(x);
+ yf = y % 1; yf = y - (yf + Number(yf < 0));//Math.floor(y);
+ zf = z % 1; zf = z - (zf + Number(zf < 0));//Math.floor(z);
X = xf & 255;
Y = yf & 255;
@@ -1025,9 +1023,9 @@ package skyboy.math { /*nl.ronvalstar.math*/
y = $y * fFreq;
z = $z * fFreq;
- xf = x - (x % 1 + Number(x < 0));//Math.floor(x);
- yf = y - (y % 1 + Number(y < 0));//Math.floor(y);
- zf = z - (z % 1 + Number(z < 0));//Math.floor(z);
+ xf = x % 1; xf = x - (xf + Number(xf < 0));//Math.floor(x);
+ yf = y % 1; yf = y - (yf + Number(yf < 0));//Math.floor(y);
+ zf = z % 1; zf = z - (zf + Number(zf < 0));//Math.floor(z);
X = xf & 255;
Y = yf & 255;
@@ -1124,9 +1122,9 @@ package skyboy.math { /*nl.ronvalstar.math*/
y = $y2 * fFreq;
z = $z2 * fFreq;
- xf = x - (x % 1 + Number(x < 0));//Math.floor(x);
- yf = y - (y % 1 + Number(y < 0));//Math.floor(y);
- zf = z - (z % 1 + Number(z < 0));//Math.floor(z);
+ xf = x % 1; xf = x - (xf + Number(xf < 0));//Math.floor(x);
+ yf = y % 1; yf = y - (yf + Number(yf < 0));//Math.floor(y);
+ zf = z % 1; zf = z - (zf + Number(zf < 0));//Math.floor(z);
X = xf & 255;
Y = yf & 255;
@@ -1223,9 +1221,9 @@ package skyboy.math { /*nl.ronvalstar.math*/
y = $y3 * fFreq;
z = $z3 * fFreq;
- xf = x - (x % 1 + Number(x < 0));//Math.floor(x);
- yf = y - (y % 1 + Number(y < 0));//Math.floor(y);
- zf = z - (z % 1 + Number(z < 0));//Math.floor(z);
+ xf = x % 1; xf = x - (xf + Number(xf < 0));//Math.floor(x);
+ yf = y % 1; yf = y - (yf + Number(yf < 0));//Math.floor(y);
+ zf = z % 1; zf = z - (zf + Number(zf < 0));//Math.floor(z);
X = xf & 255;
Y = yf & 255;
@@ -1322,9 +1320,9 @@ package skyboy.math { /*nl.ronvalstar.math*/
y = $y4 * fFreq;
z = $z4 * fFreq;
- xf = x - (x % 1 + Number(x < 0));//Math.floor(x);
- yf = y - (y % 1 + Number(y < 0));//Math.floor(y);
- zf = z - (z % 1 + Number(z < 0));//Math.floor(z);
+ xf = x % 1; xf = x - (xf + Number(xf < 0));//Math.floor(x);
+ yf = y % 1; yf = y - (yf + Number(yf < 0));//Math.floor(y);
+ zf = z % 1; zf = z - (zf + Number(zf < 0));//Math.floor(z);
X = xf & 255;
Y = yf & 255;

0 comments on commit cc6d767

Please sign in to comment.