rendered paste bodyvoid Rand(int iT,int iHeight,int iWidth,std::vector<float> & fGrid,int iCenterX,int iCenterY)
{
static int iRand[32];
static int iCoolDown = 0;
if (!iT)
{
int k = 0;
while(k < 32)
iRand[k++] = rand()%4;
}
int iIterator;
int k = 0;
if(!iCoolDown)
{
int iTemp = rand()%16;
iRand[iTemp] = rand()%4;
//iRand[k+1] = iT;
if(iTemp < 4)
iCoolDown = 96;
}
else
{
iRand[16 + (iCoolDown%16)-8] = rand()%4;
iCoolDown--;
}
for (int i = 0; i < iHeight; i++)
{
for (int j = 0; j < iWidth; j++)
{
float fX = (float)(i-iCenterX)/(float)(iHeight);
float fY = (float)(j-iCenterY)/(float)(iWidth);
iIterator = 0;
while( fX < 4 && fY < 4)
{
if(iRand[iIterator] == 0)
{
float fTemp = fX;
fX = fY/2;
fY = fTemp*2;
}
else if(iRand[iIterator] == 1)
{
float fTemp = fY;
fY = cos(fX);
fX = cos(fTemp);
}
else if(iRand[iIterator] == 2)
{
fX = fX*fX;
fY = 1./fY;
}
else if(iRand[iIterator] == 3)
{
float fTemp = fY;
fY = (fY-fX) * fY;
fX = (fX-fTemp) * fX;
}
if(iIterator >= 32)
break;
iIterator++;
}
fGrid[i * iWidth + j] = 0.0625 + (float)(iIterator-32)/128.0f;
}
}
}