From 2d0be30113df0d9d3f1d969c44dc808758b27b6d Mon Sep 17 00:00:00 2001 From: LunarAkai Date: Tue, 12 Aug 2025 17:25:27 +0200 Subject: [PATCH] game loop chart --- README.md | 6 +----- docs/game_loop.drawio.png | Bin 0 -> 23686 bytes 2 files changed, 1 insertion(+), 5 deletions(-) create mode 100644 docs/game_loop.drawio.png diff --git a/README.md b/README.md index 39a3765..af3a99a 100644 --- a/README.md +++ b/README.md @@ -37,11 +37,7 @@ So far these parts have been published: ### Game Loop: -- Start Run - -- (enter loop) ... -> WindowEvents/Input -> Update -> Render -> ... - -- Cleanup +![](/docs/game_loop.drawio.png) diff --git a/docs/game_loop.drawio.png b/docs/game_loop.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..bd88e81f3bc4de915bf8b3c17b6fa0594959da96 GIT binary patch literal 23686 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 UNl1hLu{hBYZ6mD`4LjWb1M$X^$^ZZW literal 0 HcmV?d00001