47 lines
1.4 KiB
Lua
47 lines
1.4 KiB
Lua
local screenWidth = 800
|
|
local screenHeight = 450
|
|
|
|
rl.SetConfigFlags(rl.FLAG_VSYNC_HINT)
|
|
rl.InitWindow(screenWidth, screenHeight, "raylua [models] example - geometric shapes")
|
|
|
|
local camera = rl.new("Camera", {
|
|
position = rl.new("Vector3", 0, 10, 10),
|
|
target = rl.new("Vector3", 0, 0, 0),
|
|
up = rl.new("Vector3", 0, 1, 0),
|
|
fovy = 45,
|
|
type = rl.CAMERA_PERSPECTIVE
|
|
})
|
|
|
|
while not rl.WindowShouldClose() do
|
|
rl.BeginDrawing()
|
|
rl.ClearBackground(rl.RAYWHITE)
|
|
|
|
rl.BeginMode3D(camera)
|
|
|
|
-- Ideally, you should cache Vector3 structures to avoid reallocating them
|
|
-- over and over. For readability here, they are inlined to the code.
|
|
|
|
rl.DrawCube(rl.new("Vector3", -4, 0, 2), 2, 5, 2, rl.RED)
|
|
rl.DrawCubeWires(rl.new("Vector3", -4, 0, 2), 2, 5, 2, rl.GOLD)
|
|
rl.DrawCubeWires(rl.new("Vector3", -4, 0, -2), 3, 6, 2, rl.MAROON)
|
|
|
|
rl.DrawSphere(rl.new("Vector3", 1, 0, -2), 1, rl.GREEN)
|
|
rl.DrawSphereWires(rl.new("Vector3", 1, 0, 2), 2, 16, 16, rl.LIME)
|
|
|
|
rl.DrawCylinder(rl.new("Vector3", 4, 0, -2), 1, 2, 3, 4, rl.SKYBLUE)
|
|
rl.DrawCylinderWires(rl.new("Vector3", 4, 0, -2), 1, 2, 3, 4, rl.DARKBLUE)
|
|
rl.DrawCylinderWires(rl.new("Vector3", 4.5, -1, 2), 1, 1, 2, 6, rl.BROWN)
|
|
|
|
rl.DrawCylinder(rl.new("Vector3", 1, 0, -4), 0, 1.5, 3, 8, rl.GOLD)
|
|
rl.DrawCylinderWires(rl.new("Vector3", 1, 0, -4), 0, 1.5, 3, 8, rl.PINK)
|
|
|
|
rl.DrawGrid(10, 1)
|
|
|
|
rl.EndMode3D()
|
|
|
|
rl.DrawFPS(10, 10)
|
|
rl.EndDrawing()
|
|
end
|
|
|
|
rl.CloseWindow()
|