UPDATE: Formal List of questions:
- What do the float values (both input parameters, and the output) of a 2D noise implementation represent? - Partially answered, the inputs are the coordinates. How about the ouput? Also, can I use my integer as a float for the coords? 1.0, 122.0, etc.?
- What's a good way to implement a seed in a 2D noise generator? Should I just make it a 3D noise generator using the 3rd param as a seed? Would that imply each seed can generate unique 2D noise?
- Going along with the 2d map, generating bitmaps seems to be along the same lines. How could I generate a bitmap from the output? Presumably floats.
My questions are what do the float values (both input parameters, and output) of a cut and paste perlin noise 2D implementation represent? How could I generate a bitmap from them? If I can get a 2d array of some data type, I'm sure I could figure out how to use it to simulate my terrain.
And, I would use a cut and paste implementation, if I could ensure that I could seed the values for them. That's the other part of the question, it is an unanswered one I found here. - what's a good way to implement a seed in a noise generator?
Ok, I understand that this question has been asked many many times, so let me explain what I have researched and found.
First, I found this site here, which seemed to be a winner for explaining it to me. However, I then came up with another question which I found asked but not really answered completely here.
I then tried to get my hands dirty and code some in Java, which is my language of choice. I found this, which had me trying out the hash function given as an answer as my noise function, because I could use a seed there. Then I ran into a problem of it not returning a float to follow the rest of the processes in the tutorial. Back to the drawing board. Along the way, I found many many more sites with questions about perlin noise.
I found an unanswered question here that I hadn't even thought of yet because I haven't gotten my implementation to work. I can't find the link anymore but it said something along the lines of, even if you had a copy and pasted implementation what are the float inputs you put into the function? I was told I needed to pass INTEGERS that are my x and y on the map. I get float outputs from the cut and paste implementations as well. What do THOSE mean? How are those 2D? If I could keep things as integers it would make sense in my brain but in a way, I see that keeping them as integers would not be plausible for interpolating and smoothing the values for a continuous curve.