kota-shiokara / RDGL

Realistic procedural DEM generation library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

result-bg2

RDGL - Realistic procedural DEM generation library

DEM : Digital Elevation Model

Features

RDGL can generate procedural terrains, including...

  • Plain
  • Valley
  • Rias coast
  • Continental shelf
  • Mountain range
    ... and so on.

Random DEM generation

Seed = 8 Seed=14
LandProportion01=1.0
Seed = 14
LandProportion01=0.15
Seed = 2022

[*] 1000x1000 (km2) terrain

package main
import output "github.com/TadaTeruki/RDGL/Output"
import rdg "github.com/TadaTeruki/RDGL"

func main(){
  rdg.EnableProcessLog()
  var seed int64 = 14
  dem := rdg.NewDEM(seed)
  dem.Generate()
  output.WriteDEMtoPNGwithShadow("result.png", &dem, 300, -1, output.DefaultShadow(&dem))
  // details : examples/hello_dem.go, examples/hello_dem_detailed.go, examples/write_to_png_with_shadow.go
}

Outline interpolation (Preparing)

examples/resources/draft.png examples/resources/swan.png



TXT/PNG/OBJ output

PNG OBJ (3D model) [*1] [*2]

[*1] displayed with https://github.com/RBFraphael/meshviewer
[*2] Elevation = x50

...
func main(){
  ...
  output.WriteDEMtoTXT("result.txt", &dem, 1000, -1)
  output.WriteDEMtoPNG("result.png", &dem, 300, -1)
  output.WriteDEMtoPNGwithShadow("result1.png", &dem, 300, -1, output.DefaultShadow(&dem))
  output.WriteDEMtoOBJ("result.obj", &dem, 100, -1, 5.0, false)
  // details : examples/write_to_txt.go, examples/write_to_png.go,
  //           examples/write_to_png_with_shadow.go, examples/write_to_obj.go
}

Installation

$ go get github.com/TadaTeruki/RDGL

Author & Contributors

Author : Tada Teruki < tadateruki.public@gmail.com >

Copyright (c) 2021 Tada Teruki

result

About

Realistic procedural DEM generation library

License:GNU Lesser General Public License v3.0


Languages

Language:Go 100.0%