public float[,] Generate( int width, int height )
{
float[,] texture = new float[height, width];
int w2 = width / 2;
int h2 = height / 2;
for ( int y = 0; y < height; y++ )
{
for ( int x = 0; x < width; x++ )
{
double xv = (double) ( x - w2 ) / width;
double yv = (double) ( y - h2 ) / height;
texture[y, x] =
Math.Min( 1.0f, (float)
Math.Abs( Math.Sin(
( Math.Sqrt( xv * xv + yv * yv ) + noise.Function2D( x + r, y + r ) )
* Math.PI * 2 * rings
) )
);
}
}
return texture;
}