world: fix worldgen
This commit is contained in:
internal
@ -7,6 +7,7 @@ import (
|
||||
|
||||
"edgaru089.ml/go/gl01/internal/asset"
|
||||
"edgaru089.ml/go/gl01/internal/io"
|
||||
"edgaru089.ml/go/gl01/internal/util"
|
||||
"edgaru089.ml/go/gl01/internal/util/itype"
|
||||
"github.com/go-gl/gl/all-core/gl"
|
||||
)
|
||||
@ -91,9 +92,9 @@ func (c *Chunk) updateRender() {
|
||||
select {
|
||||
case vert := <-c.vertUpdate:
|
||||
gl.BindBuffer(gl.ARRAY_BUFFER, c.vbo)
|
||||
gl.BufferData(gl.ARRAY_BUFFER, int(unsafe.Sizeof(Vertex{}))*len(vert[0]), gl.Ptr(vert[0]), gl.DYNAMIC_DRAW)
|
||||
gl.BufferData(gl.ARRAY_BUFFER, int(unsafe.Sizeof(Vertex{}))*len(vert[0]), util.Ptr(vert[0]), gl.DYNAMIC_DRAW)
|
||||
gl.BindBuffer(gl.ARRAY_BUFFER, c.water.vbo)
|
||||
gl.BufferData(gl.ARRAY_BUFFER, int(unsafe.Sizeof(Vertex{}))*len(vert[1]), gl.Ptr(vert[1]), gl.DYNAMIC_DRAW)
|
||||
gl.BufferData(gl.ARRAY_BUFFER, int(unsafe.Sizeof(Vertex{}))*len(vert[1]), util.Ptr(vert[1]), gl.DYNAMIC_DRAW)
|
||||
c.vbolen = len(vert[0])
|
||||
c.water.vbolen = len(vert[1])
|
||||
default: // do nothing
|
||||
|
@ -13,11 +13,11 @@ const (
|
||||
Beta = 2 // harmonic scaling/spacing
|
||||
N = 3 // iterations
|
||||
|
||||
AltitudeDensity = 10 // Density of the noise in altitude
|
||||
AltitudeDensity = 20 // Density of the noise in altitude
|
||||
|
||||
Sealevel = 63 // Space with Y=63 and lower should be the sea
|
||||
Highest = 84 // Highest part of the terrain
|
||||
Lowest = 60 // Lowest part of the terrain
|
||||
Highest = 74 // Highest part of the terrain
|
||||
Lowest = 54 // Lowest part of the terrain
|
||||
)
|
||||
|
||||
var perlins map[int64]*perlin.Perlin
|
||||
@ -50,10 +50,10 @@ func Chunk(chunk *packworld.Chunk, world *packworld.World, seed int64) {
|
||||
for x := 0; x < packworld.ChunkSizeX; x++ {
|
||||
for z := 0; z < packworld.ChunkSizeZ; z++ {
|
||||
|
||||
height := Lowest + int(float64(Highest-Lowest)*p.Noise2D(
|
||||
height := Lowest + int(float64(Highest-Lowest)*(p.Noise2D(
|
||||
float64(offX+x)/AltitudeDensity,
|
||||
float64(offZ+z)/AltitudeDensity))
|
||||
//log.Printf("height = %d (noise=%.5f)", height, p.Noise2D(float64(offX+x), float64(offZ+z)))
|
||||
float64(offZ+z)/AltitudeDensity)/2+0.5))
|
||||
//log.Printf("height = %d (noise=%.5f)", height, p.Noise2D(float64(offX+x)/AltitudeDensity, float64(offZ+z)/AltitudeDensity)/2+0.5)
|
||||
|
||||
// water
|
||||
for y := Sealevel; y > height; y-- {
|
||||
|
Reference in New Issue
Block a user