# The Industry's Foundation for High Performance Graphics

1. ## heightmap of points vertex(or geometry) shader

I'm playing with geometry shaders and try to generate a heightmap. In CPU side I have generated a grid of points like this :

Code :
```const int NUM_X = 140;
const int NUM_Z = 40;`

const float HALF_SIZE_X = 100.0f/2.0f;
const float HALF_SIZE_Z = 100.0f/2.0f;

GLfloat* data = (GLfloat*)malloc( (NUM_X*NUM_Z * 3) * sizeof(GLfloat));

int count = 0;
int i, j;
for( j=0;j<NUM_Z;j++) {
for( i=0;i<NUM_X;i++) {
data[count] = ((((float)(i))/(NUM_X-1)) *2-1)* HALF_SIZE_X;
data[count+1] = 0.0f;
data[count+2] =((((float)(j))/(NUM_Z-1))*2-1)*HALF_SIZE_Z;
count+=3;
}
}```

and in GPU side I transform this points in cubes in the geometry shader.

What I want to do is to generate a heightmap from this grid of points in the vertex or geometry shader like a minecraft. I know i have to use an algorithm like perlin noise or simplex noise but I have no idea how to implement them to obtain a terrain. I saw some code found in webgl-noise but it's not conclusive and I don't understand it very well. I tried to convert the array in a texture but it's the same thing.

I want to generate heightmap in the shader because when we move it will generate a new heightmap with the same points. It will give the impression we will move but it's just the terrain on y axis changes. But my problem is I don't know how to generate this terrain.

Any idea how to do, please ?

2. Minecraft doesn't use heightmaps.

3. It was an example of what kind of terrain I want. Sorry for the mistake.

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•