Rendering with shadows and everything is pretty heavy for 10.000 boxes.
RegisterAbstractPath("")
Graphics(800,600)
fw = CreateFramework()
camera =fw.main.camera
camera:SetPosition(Vec3(0,20,-20))
light = CreateDirectionalLight()
light:SetRotation(Vec3(45,45,0))
camRotation=Vec3(0,0,0)
MoveMouse(GraphicsWidth()/2,GraphicsHeight()/2)
HideMouse(1)
prevPos = Vec3(0)
cube = {}
cube1 = {}
cube2 = {}
--main function
while KeyHit(KEY_ESCAPE)==0 do
if KeyHit (KEY_SPACE)==1 then
for a = 0, 50, 1 do
for b = 0, 100, 1 do
cube[b] = CreateCube()
cube[b]:SetPosition(Vec3(prevPos.x + 1,prevPos.y + 1,prevPos.z))
prevPos = cube[b]:GetPosition()
end
prevPos = Vec3(0,0,prevPos.z + 2)
end
prevPos = Vec3(0)
for a = 0, 50, 1 do
for b = 0, 100, 1 do
cube[b] = CreateCube()
cube[b]:SetPosition(Vec3(prevPos.x - 1,prevPos.y + 1,prevPos.z))
prevPos = cube[b]:GetPosition()
end
prevPos = Vec3(0,0,prevPos.z + 2)
end
end
--Camera look
gx=Curve(MouseX()- GraphicsWidth()/2,gx,10)
gy=Curve(MouseY()- GraphicsHeight()/2,gy,10)
MoveMouse(GraphicsWidth()/2,GraphicsHeight()/2)
camRotation.x = camRotation.x+gy /10
camRotation.y = camRotation.y-gx /10
camera:SetRotation(camRotation,1)
--keys
move = Curve(KeyDown(KEY_W)-KeyDown(KEY_S),move,10)
strafe = Curve(KeyDown(KEY_D)-KeyDown(KEY_A),strafe,10)
camera:Move(Vec3(strafe ,0,move))
fw:Update()
fw:Render()
Flip(0)
end