mkheightmap | Examples and Interesting Programs for mkheightmap | 2008-06-28 |
Abstract
In this article I will present some interesting hackings in Height-Slang [0] [1]. While mkheightmap is meant to be a heightmap creation tool, the creations presented in this article are not necessarily usable as such. Think of this article as a show-off of Height-Slang and mkheightmap.
Programs and Example-Outputs
edges
(^ (- 1
(abs ([2 LayeredNoise
frequency(15)
layercount(8)
persistence((* 0.4 (-1 (abs x))))
] x y)))
3)
rivers
(- 1
(^ (- 1
(abs ([2 LayeredNoise
frequency(15)
layercount(8)
persistence((* 0.4 (-1 (abs x))))
] x y)))
3))
interesting
(lerp (sin (* 10 x))
(sin (* 10 y))
(^ (- 1
(abs ([2 LayeredNoise
frequency(15)
layercount(8)
persistence((* 0.4 (-1 (abs x))))
] x y)))
3))
funky-noise
(? (> 0.1
(+ (sin (* 30 x))
(sin (* 30 y))))
(* 0.2
(sin (* y 500)))
(^ (- 1
(abs ([2 LayeredNoise
frequency(15)
layercount(8)
persistence((* 0.4 (-1 (abs x))))
] x y)))
3))
a-bit-like-marbles
(sin (* 3.141
(^ (- 1
(abs ([2 LayeredNoise
frequency(15)
layercount(8)
persistence((* 0.4 (-1 (abs x))))
] x y)))
3)))
sketchy
(sin (* 20 (^ (- 1
(abs ([2 LayeredNoise
frequency(15)
layercount(8)
persistence((* 0.4 (-1 (abs x))))
] x y)))
3)))
i-can-no-more
(sin (* (/ (* 100
([2 LayeredNoise frequency(10)] x y))
(^ y x))
(sqrt (+ (^ (- x 0.5) 2)
(^ (- y 0.5) 2)))))
i-can-no-more-2
(sin (* (/ (* (^ (- 1
(abs ([2 LayeredNoise
frequency(15)
layercount(8)
persistence((* 0.4 (-1 (abs x))))
] x y)))
3)
(^ (- 1
(abs ([2 LayeredNoise
frequency(15)
layercount(8)
persistence((* 0.4 (-1 (abs x))))
] x y)))
3))
(^ y x))
(sqrt (+ (^ (- x 0.5) 2)
(^ (- y 0.5) 2)))))
weird
(sin (* (/ 100 (^ y x))
(sqrt (+ (^ (- x 0.5) 2)
(^ (- y 0.5) 2)))))
sincos-checkers
(+ (sin (* 100 x))
(cos (* 100 y)))
another-checkers
(sqrt (* (sin (* 20 x))
(cos (* 20 y))))
funky
(sin (* 20
(sqrt (* (sin (* 20 x))
(cos (* 20 y))))))
this-shalt-be-a-heightmap-questionmark
(sin (* 20
(sqrt (+ (sin (* 20 x))
(cos (* 20 y))))))
interf-0
(+ (* 2
(+ (cos (* y x))
(sin (* x 20))))
(sin (* 200
(* x y))))
interf-1
(+ (* 2
(+ (cos (* y 40))
(sin (* x 20))))
(sin (* 200
(* x y))))
interf-2
(+ (* 2
(* (cos (* y 90))
(sin (* x 30))))
(sin (* 200
(* x y))))