It depends. It's not infinite. It's all generated before the game is launched, but it is procedural. I used a custom function to generate noise to an array and interpolate between the values.