--[[ fog generator
generates fog
posX, posY, posZ - position in space
size - size of billboard
brightness - [0,1] fog brightness
--]]
function generateFog(posX, posY, posZ, size, brightness)
print("")
end
--[[ asteroid field generator
generates asteroid field
posX, posY, posZ - position in space
minSize, maxSize - size boundaries of each asteroid
radius - size of the cube around position in space
count - number of asteroids
fog - enable fog 0/1
--]]
function asteroidField(posX, posY, posZ, minSize, maxSize, radius, count, fog)
for i = 1, count, 1 do
size = (math.random() * (maxSize - minSize)) + minSize
pX = (2 * math.random() * radius) - radius + posX
pY = (2 * math.random() * radius) - radius + posY
pZ = (2 * math.random() * radius) - radius + posZ
print("")
print("")
print("")
print("")
print(" ")
print("")
print("")
print("")
if fog == 1 and i % 5 == 0 then
generateFog(pX, pY, pZ, radius*0.04, 0.2)
end
end
end
--[[ asteroid belt generator
generates asteroid belt
posX, posY, posZ - position in space
yaw, pitch - rotation
minSize, maxSize - size boundaries of each asteroid
radius0, radius1 - inner/outer radius
count - number of asteroids
fog - enable fog 0/1
--]]
function asteroidBelt(centerX, centerY, centerZ, yaw, pitch, segments, minSize, maxSize, radius0, radius1, count, fog)
dPhi = (2 * math.pi) / segments
width = math.abs(radius1 - radius0)
radius = (radius1 + radius0) / 2
segmentCount = count / segments
print("")
print("")
for i = 0, segments - 1, 1 do
asteroidField((radius * math.cos(i * dPhi)),
(radius * math.sin(i * dPhi)),
0, minSize, maxSize, width, segmentCount, fog)
end
print("")
print("")
end