summaryrefslogtreecommitdiff
path: root/scratchpad.md
diff options
context:
space:
mode:
authorJoshua Rowe <17525998+omnisci3nce@users.noreply.github.com>2024-04-04 19:50:49 +1100
committerGitHub <noreply@github.com>2024-04-04 19:50:49 +1100
commitb7d8ca95d38942eb3d3c308392c73fda1858efd1 (patch)
tree55b06b524424ff77af00c907180928b5cf74718c /scratchpad.md
parent0ba447ee95c31e132b4ca91671dfe10ad29bca32 (diff)
parent0063d8b927dd55f34906bdcd356aff99c2a96a86 (diff)
Merge pull request #8 from omnisci3nce/cel-56-load-gltf-files
Cel 56 load gltf files
Diffstat (limited to 'scratchpad.md')
-rw-r--r--scratchpad.md71
1 files changed, 71 insertions, 0 deletions
diff --git a/scratchpad.md b/scratchpad.md
new file mode 100644
index 0000000..19ad8b4
--- /dev/null
+++ b/scratchpad.md
@@ -0,0 +1,71 @@
+
+```c
+// engine.h
+#pragma once
+
+#include <celstd.h>
+#include <renderer.h>
+#include <renderer_types.h>
+#include <maths_types.h>
+#include "threadpool.h"
+
+typedef struct frame_stats {} frame_stats;
+
+typedef struct engine_stats {
+ frame_stats frame;
+} engine_stats;
+
+typedef struct engine {
+ // timing
+ float startTime;
+ float deltaTime; // time between current frame and last frame
+ float lastFrame;
+ // stats
+ engine_stats stats;
+} engine;
+
+static bool engine_init(engine *engine) {
+ engine->startTime = glfwGetTime();
+ engine->deltaTime = 0.0f;
+ engine->lastFrame = 0.0f;
+
+ return true;
+}
+
+static inline void engine_tick_start(engine *engine) {
+ float currentFrame = glfwGetTime();
+ engine->deltaTime = currentFrame - engine->lastFrame;
+ engine->lastFrame = currentFrame;
+}
+
+static inline void engine_tick_end(engine *engine) {
+ // TODO: clear frame stats
+}
+
+void celeritas_print_type_sizes();
+```
+
+```c
+// engine.c
+#include "engine.h"
+
+#include <stdio.h>
+
+#include "animation.h"
+#include "application.h"
+
+void celeritas_print_type_sizes() {
+ printf("\e[1mType sizes: \e[m \n");
+ printf("transform: %ld bytes\n", sizeof(transform));
+ printf("mesh: %ld bytes\n", sizeof(mesh));
+ printf("bh_material: %ld bytes\n", sizeof(bh_material));
+ printf("animation: %ld bytes\n", sizeof(animation_clip));
+ printf("model: %ld bytes\n", sizeof(model));
+ printf("rend_buffer: %ld bytes\n", sizeof(rend_buffer));
+
+ printf("application: %ld bytes\n", sizeof(cel_application));
+ printf("renderer: %ld bytes\n", sizeof(renderer));
+ printf("threadpool: %ld bytes\n", sizeof(threadpool));
+ printf("engine: %ld bytes\n", sizeof(engine));
+}
+``` \ No newline at end of file