Minetest-WorldEditAdditions/worldeditadditions/lib/noise/engines/infrared.lua
2022-09-19 01:16:22 +01:00

34 lines
689 B
Lua

local wea = worldeditadditions
local wea_c = worldeditadditions_core
local Vector3 = wea_c.Vector3
local White = dofile(wea.modpath.."/lib/noise/engines/white.lua")
local Infrared = {}
Infrared.__index = Infrared
function Infrared.new(seed)
local result = {
seed = seed or math.random(),
white = White.new(seed),
window = 2
}
setmetatable(result, Infrared)
return result
end
function Infrared:noise( x, y, z )
local values = { }
for nx=x-self.window,x+self.window do
for ny=y-self.window,y+self.window do
for nz=z-self.window,z+self.window do
table.insert(values, self.white:noise(nx, ny, nz))
end
end
end
return wea_c.average(values)
end
return Infrared