summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author3gg <3gg@shellblade.net>2024-08-28 09:42:03 -0700
committer3gg <3gg@shellblade.net>2024-08-28 09:42:03 -0700
commit6347ee483182bf8c5d139d1110ce2c335af60e4f (patch)
treed679560f00b53c7d6626448a36e87586c3897ac9
parentbc11af703e622dcc95ac337ad1a68db2d4cc16c0 (diff)
Add demo skeleton.
-rw-r--r--app/CMakeLists.txt2
-rw-r--r--app/demo/CMakeLists.txt15
-rw-r--r--app/demo/main.c47
3 files changed, 64 insertions, 0 deletions
diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt
index 4db314d..7703ccb 100644
--- a/app/CMakeLists.txt
+++ b/app/CMakeLists.txt
@@ -15,3 +15,5 @@ target_link_libraries(gfx-app PUBLIC
15 glfw 15 glfw
16 log 16 log
17 timer) 17 timer)
18
19add_subdirectory(demo)
diff --git a/app/demo/CMakeLists.txt b/app/demo/CMakeLists.txt
new file mode 100644
index 0000000..bbb3aae
--- /dev/null
+++ b/app/demo/CMakeLists.txt
@@ -0,0 +1,15 @@
1cmake_minimum_required(VERSION 3.0)
2
3project(gfxappdemo)
4
5set(CMAKE_C_STANDARD 17)
6set(CMAKE_C_STANDARD_REQUIRED On)
7set(CMAKE_C_EXTENSIONS Off)
8
9add_executable(gfxappdemo
10 main.c)
11
12target_link_libraries(gfxappdemo PRIVATE
13 gfx-app)
14
15target_compile_options(gfxappdemo PRIVATE -Wall -Wextra -Wpedantic)
diff --git a/app/demo/main.c b/app/demo/main.c
new file mode 100644
index 0000000..0b83711
--- /dev/null
+++ b/app/demo/main.c
@@ -0,0 +1,47 @@
1#include <gfx/app.h>
2
3#include <assert.h>
4
5const int WIDTH = 960;
6const int HEIGHT = 600;
7const int MAX_FPS = 60;
8const char* TITLE = "iso3d";
9
10typedef struct GfxAppState {
11 int unused;
12} GfxAppState;
13
14bool Init(GfxAppState* state, int argc, const char** argv) {
15 assert(state);
16
17 (void)argc;
18 (void)argv;
19
20 return true;
21}
22
23void Shutdown(GfxAppState* state) {
24 assert(state);
25 //
26}
27
28void Update(GfxAppState* state, double t, double dt) {
29 assert(state);
30
31 (void)t;
32 (void)dt;
33}
34
35void Render(GfxAppState* state) {
36 assert(state);
37 //
38}
39
40void Resize(GfxAppState* state, int width, int height) {
41 assert(state);
42
43 (void)width;
44 (void)height;
45}
46
47GFX_APP_MAIN(WIDTH, HEIGHT, MAX_FPS, TITLE)