1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package main
import gpu "../.."
import app "../../app"
main :: proc() {
state, ok := app.init_window(800, 600, "GPU - 2D Shapes")
if !ok {
return
}
defer app.shutdown(&state)
for !app.window_should_close(&state) {
frame := app.begin_frame(&state, gpu.CORNFLOWER_BLUE)
_ = gpu.draw_rect(&frame, {x = 50, y = 50, width = 200, height = 100, color = gpu.RED})
_ = gpu.draw_rect(&frame, {x = 300, y = 50, width = 150, height = 150, color = gpu.GREEN})
_ = gpu.draw_rect(&frame, {x = 500, y = 80, width = 250, height = 80, color = gpu.BLUE})
_ = gpu.draw_circle_frame(&frame, {cx = 150, cy = 350, radius = 60, color = gpu.YELLOW})
_ = gpu.draw_circle_frame(&frame, {cx = 400, cy = 350, radius = 80, color = gpu.PURPLE})
_ = gpu.draw_circle_frame(&frame, {cx = 600, cy = 350, radius = 40, color = gpu.CYAN})
_ = gpu.draw_line_frame(&frame, {x0 = 50, y0 = 500, x1 = 750, y1 = 500, color = gpu.WHITE})
_ = gpu.draw_line_frame(&frame, {x0 = 50, y0 = 480, x1 = 750, y1 = 520, color = gpu.ORANGE})
_ = gpu.draw_line_frame(&frame, {x0 = 400, y0 = 250, x1 = 400, y1 = 550, color = gpu.MAGENTA})
_ = app.submit_frame(&state, &frame)
if app.is_key_pressed(&state, .Escape) {
break
}
}
}