mirror of
https://github.com/TangentFoxy/heightmap.git
synced 2025-07-27 18:32:16 +00:00
remove deprecated module(), better README
This commit is contained in:
@@ -11,8 +11,9 @@ The heightmap module uses the diamond-square algorithm to generate cloud or plas
|
||||
Usage
|
||||
-----
|
||||
|
||||
```lua
|
||||
-- import module
|
||||
require "heightmap"
|
||||
local heightmap = require "heightmap"
|
||||
|
||||
-- create 32x32 heightmap
|
||||
map = heightmap.create(32, 32)
|
||||
@@ -38,6 +39,7 @@ Usage
|
||||
|
||||
-- use the custom height function and normalize with a range of 10 to 20
|
||||
map = heightmap.create(200, 200, f, 10, 20)
|
||||
```
|
||||
|
||||
How it Works
|
||||
------------
|
||||
|
@@ -3,8 +3,6 @@
|
||||
|
||||
local max, random = math.max, math.random
|
||||
|
||||
module(...)
|
||||
|
||||
-- Find power of two sufficient for size
|
||||
local function pot(size)
|
||||
local pot = 2
|
||||
@@ -88,13 +86,13 @@ end
|
||||
-- d is depth (from size to 1 by powers of two)
|
||||
-- h is mean height at map[x][y] (from square/diamond of radius d)
|
||||
-- returns h' which is used to set map[x][y]
|
||||
function defaultf(map, x, y, d, h)
|
||||
local function defaultf(map, x, y, d, h)
|
||||
return h + (random()-0.5)*d
|
||||
end
|
||||
|
||||
-- Create a heightmap using the specified height function (or default)
|
||||
-- map[x][y] where x from 0 to map.w and y from 0 to map.h
|
||||
function create(width, height, f)
|
||||
local function create(width, height, f)
|
||||
f = f and f or defaultf
|
||||
-- make heightmap
|
||||
local map = diamondsquare(pot(max(width, height)), f)
|
||||
@@ -104,3 +102,8 @@ function create(width, height, f)
|
||||
map.w, map.h = width, height
|
||||
return map
|
||||
end
|
||||
|
||||
return {
|
||||
defaultf = defaultf,
|
||||
create = create
|
||||
}
|
||||
|
Reference in New Issue
Block a user