Commit: 64a87ca0208c054cda530c8fb020531c92fd4388
Parent: 36e3c15caefece796d2370e8b97260f1fdb05669
Author: Randy Palamar
Date: Wed, 28 May 2025 21:57:25 -0600
drop multi file volume stitching
just concatenate the files dummy
Diffstat:
2 files changed, 7 insertions(+), 37 deletions(-)
diff --git a/common.c b/common.c
@@ -3,7 +3,6 @@
#include "GLFW/glfw3.h"
#include <stdio.h>
-#include <stdarg.h>
#include "options.h"
@@ -59,21 +58,6 @@ gl_debug_logger(u32 src, u32 type, u32 id, u32 lvl, s32 len, const char *msg, co
stream_reset(e, 0);
}
-function void
-stream_printf(Stream *s, const char *format, ...)
-{
- va_list ap;
-
- va_start(ap, format);
- s32 length = vsnprintf(0, 0, format, ap);
- s->errors |= (s->cap - s->widx) < (length + 1);
- if (!s->errors) {
- vsnprintf((char *)(s->data + s->widx), s->cap - s->widx, format, ap);
- s->widx += length;
- }
- va_end(ap);
-}
-
function u32
compile_shader(OS *os, Arena a, u32 type, str8 shader, str8 name)
{
@@ -167,7 +151,7 @@ function FILE_WATCH_CALLBACK_FN(reload_shader)
}
function u32
-load_complex_texture(Arena arena, c8 *file_path, b32 multi_file, u32 width, u32 height, u32 depth)
+load_complex_texture(Arena arena, c8 *file_path, u32 width, u32 height, u32 depth)
{
u32 result = 0;
glCreateTextures(GL_TEXTURE_3D, 1, &result);
@@ -178,21 +162,8 @@ load_complex_texture(Arena arena, c8 *file_path, b32 multi_file, u32 width, u32
glTextureParameteri(result, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTextureParameteri(result, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- if (multi_file) {
- /* NOTE(rnp): assumes single plane */
- Arena start = arena;
- for (u32 i = 0; i < depth; i++) {
- arena = start;
- Stream spath = arena_stream(arena);
- stream_printf(&spath, file_path, i);
- str8 path = arena_stream_commit_zero(&arena, &spath);
- str8 raw = os_read_whole_file(&arena, (char *)path.data);
- if (raw.len) glTextureSubImage3D(result, 0, 0, 0, i, width, height, 1, GL_RG, GL_FLOAT, raw.data);
- }
- } else {
- str8 raw = os_read_whole_file(&arena, file_path);
- if (raw.len) glTextureSubImage3D(result, 0, 0, 0, 0, width, height, depth, GL_RG, GL_FLOAT, raw.data);
- }
+ str8 raw = os_read_whole_file(&arena, file_path);
+ if (raw.len) glTextureSubImage3D(result, 0, 0, 0, 0, width, height, depth, GL_RG, GL_FLOAT, raw.data);
return result;
}
@@ -572,7 +543,7 @@ function void
draw_volume_item(ViewerContext *ctx, VolumeDisplayItem *v, f32 rotation, f32 translate_x)
{
if (!v->texture) {
- v->texture = load_complex_texture(ctx->arena, v->file_path, v->multi_file,
+ v->texture = load_complex_texture(ctx->arena, v->file_path,
v->width, v->height, v->depth);
}
diff --git a/options.h b/options.h
@@ -29,7 +29,6 @@ typedef struct {
f32 threshold;
f32 translate_x; /* mm to translate by when multi display is active */
b32 swizzle; /* 1 -> swap y-z coordinates when sampling texture */
- b32 multi_file; /* 1 -> depth == N-frames, file_path == fmt string */
f32 gain; /* uniform image gain */
u32 texture;
} VolumeDisplayItem;
@@ -38,8 +37,8 @@ typedef struct {
global u32 single_volume_index = 0;
global VolumeDisplayItem volumes[] = {
/* WALKING FORCES */
- {"./data/test/frame_%02u.bin", 512, 1024, 64, {{-20.5, -9.6, 5}}, {{20.5, 9.6, 50}}, 0.62, 72, 0, 0, 1, 3.7},
+ {"./data/walking.bin", 512, 1024, 64, {{-20.5, -9.6, 5}}, {{20.5, 9.6, 50}}, 0.62, 72, 0, 0, 3.7},
/* RCA */
- {"./data/tpw.bin", 512, 64, 1024, {{-9.6, -9.6, 5}}, {{9.6, 9.6, 50}}, 0, 92, -5 * 18.5, 1, 0, 5},
- {"./data/vls.bin", 512, 64, 1024, {{-9.6, -9.6, 5}}, {{9.6, 9.6, 50}}, 0, 89, 5 * 18.5, 1, 0, 5},
+ {"./data/tpw.bin", 512, 64, 1024, {{-9.6, -9.6, 5}}, {{9.6, 9.6, 50}}, 0, 92, -5 * 18.5, 1, 5},
+ {"./data/vls.bin", 512, 64, 1024, {{-9.6, -9.6, 5}}, {{9.6, 9.6, 50}}, 0, 89, 5 * 18.5, 1, 5},
};