aboutsummaryrefslogtreecommitdiff
path: root/src/shader.cpp
diff options
context:
space:
mode:
authorSfan5 <sfan5@live.de>2014-01-19 14:32:03 +0100
committerSfan5 <sfan5@live.de>2014-01-23 22:27:13 +0100
commitcd7e8372f3c83531afe5d5c2460ecb95540f9d0d (patch)
tree394e065a8c1ac8408e735180ffd9ef9bc5675722 /src/shader.cpp
parent1b5b6fe6929404ae416ac33c31df7d795d444614 (diff)
downloadminetest-cd7e8372f3c83531afe5d5c2460ecb95540f9d0d.tar.gz
minetest-cd7e8372f3c83531afe5d5c2460ecb95540f9d0d.tar.bz2
minetest-cd7e8372f3c83531afe5d5c2460ecb95540f9d0d.zip
Include system info in the HTTP user agent on Windows
Diffstat (limited to 'src/shader.cpp')
0 files changed, 0 insertions, 0 deletions
2' href='#n112'>112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
VoxelArea = {
	MinEdge = {x=1, y=1, z=1},
	MaxEdge = {x=0, y=0, z=0},
	ystride = 0,
	zstride = 0,
}

function VoxelArea:new(o)
	o = o or {}
	setmetatable(o, self)
	self.__index = self

	local e = o:getExtent()
	o.ystride = e.x
	o.zstride = e.x * e.y

	return o
end

function VoxelArea:getExtent()
	local MaxEdge, MinEdge = self.MaxEdge, self.MinEdge
	return {
		x = MaxEdge.x - MinEdge.x + 1,
		y = MaxEdge.y - MinEdge.y + 1,
		z = MaxEdge.z - MinEdge.z + 1,
	}
end

function VoxelArea:getVolume()
	local e = self:getExtent()
	return e.x * e.y * e.z
end

function VoxelArea:index(x, y, z)
	local MinEdge = self.MinEdge
	local i = (z - MinEdge.z) * self.zstride +
			  (y - MinEdge.y) * self.ystride +
			  (x - MinEdge.x) + 1
	return math.floor(i)
end