volviewer

Volumetric Data Toy Viewer
git clone anongit@rnpnr.xyz:volviewer.git
Log | Files | Refs | Feed | LICENSE

Commit: fd15c30568eb06496bd50c3b379372a792ed227d
Parent: 8c78d59d1459db8fb91c7346593fe8734529b496
Author: Randy Palamar
Date:   Mon, 26 May 2025 10:01:09 -0600

don't crash when texture data can't be loaded off disk

Diffstat:
Mcommon.c | 6++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/common.c b/common.c @@ -212,16 +212,18 @@ load_complex_texture(Arena arena, c8 *file_path, b32 multi_file, u32 width, u32 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); - glTextureSubImage3D(result, 0, 0, 0, i, width, height, 1, GL_RG, GL_FLOAT, raw.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); - glTextureSubImage3D(result, 0, 0, 0, 0, width, height, depth, GL_RG, GL_FLOAT, raw.data); + if (raw.len) glTextureSubImage3D(result, 0, 0, 0, 0, width, height, depth, GL_RG, GL_FLOAT, raw.data); } return result; }