From 99337878eca2807436bcf11d36946b90db44a2d3 Mon Sep 17 00:00:00 2001 From: pryazha Date: Mon, 4 Aug 2025 01:19:01 +0500 Subject: text rendering chapter --- libs/common.h | 13 ++++++++----- libs/pwyazh/v2f.h | 7 +++++++ libs/pwyazh/v3f.h | 7 +++++++ 3 files changed, 22 insertions(+), 5 deletions(-) (limited to 'libs') diff --git a/libs/common.h b/libs/common.h index 08e753a..a7f8985 100644 --- a/libs/common.h +++ b/libs/common.h @@ -454,16 +454,16 @@ typedef struct { #define MAX_SHADERS 8 shader_t shaders[MAX_SHADERS] = {0}; -void add_shader(const char *vert_filename, const char *frag_filename, const char *geom_filename) +U32 add_shader(const char *vert_filename, const char *frag_filename, const char *geom_filename) { if (!vert_filename) { info("vertex shader filename not specified"); - return; + return 0; } const char *dot = strrchr(vert_filename, '.'); if (!dot) { info("shader \"%s\" was not loaded .vert or .vs expected for vertex shader", vert_filename); - return; + return 0; } U64 len = dot - vert_filename; char *name = malloc(len + 1); @@ -476,10 +476,11 @@ void add_shader(const char *vert_filename, const char *frag_filename, const char if (!shaders[i].id) die("failed to load shader \"%s\"", name); shaders[i].name = name; info("shader \"%s\" loaded successfully", name); - return; + return shaders[i].id; } } info("max shaders reached, can't load \"%s\"", name); + return 0; } void remove_shader(const char *name) @@ -689,7 +690,9 @@ void gl_debug_output(GLenum source, GLenum type, GLuint id, GLenum severity, GLs /* ignore these non-significant error codes */ if(id == 131169 || id == 131185 || id == 131218 || id == 131204) return; - info("debug message (%d): %s", id, message); + if (userParam) + info("user parameters doesn't supported"); + info("debug message (%d length: %d): %s", id, length, message); switch (source) { case GL_DEBUG_SOURCE_API: info("source: api"); diff --git a/libs/pwyazh/v2f.h b/libs/pwyazh/v2f.h index bc09b45..67f9bd2 100644 --- a/libs/pwyazh/v2f.h +++ b/libs/pwyazh/v2f.h @@ -8,6 +8,13 @@ v2f(F32 x, F32 y) return(result); } +V2F +v2fa(F32 x) +{ + V2F result = { x, x }; + return(result); +} + V2F v2f_zero() { diff --git a/libs/pwyazh/v3f.h b/libs/pwyazh/v3f.h index f1b4ff7..c5a5c1b 100644 --- a/libs/pwyazh/v3f.h +++ b/libs/pwyazh/v3f.h @@ -8,6 +8,13 @@ v3f(F32 x, F32 y, F32 z) return(result); } +V3F +v3fa(F32 x) +{ + V3F result = { x, x, x }; + return(result); +} + V3F v3f_from_v4f(V4F a) { -- cgit v1.2.3-70-g09d2