transformation_visualizer/main.odin
2026-08-17 15:56:57 +02:00

46 lines
864 B
Odin

package main
import rl "libraries/raylib"
import "base:runtime"
WINDOW_WIDTH :: 1280
WINDOW_HEIGHT :: 720
WINDOW_FRAMERATE :: 60
WINDOW_CAPTION :: "Transformation Visualizer"
init :: proc() {
rl.SetTraceLogLevel(.WARNING)
rl.SetConfigFlags({.VSYNC_HINT})
rl.InitWindow(WINDOW_WIDTH, WINDOW_HEIGHT, WINDOW_CAPTION)
rl.SetTargetFPS(WINDOW_FRAMERATE)
program_init()
}
update :: proc() {
rl.BeginDrawing()
defer rl.EndDrawing()
rl.ClearBackground(rl.BLACK)
program_update()
free_all(context.temp_allocator)
}
parent_window_size_changed :: proc(w, h: int) {
rl.SetWindowSize(i32(w), i32(h))
}
shutdown :: proc() {
rl.CloseWindow()
}
should_run :: proc() -> bool {
when ODIN_OS != .JS {
if rl.WindowShouldClose() {
return false
}
}
return true
}
delta_time_fraction :: proc() -> f32 {
return rl.GetFrameTime() / (1.0 / WINDOW_FRAMERATE)
}