src/2d.c

changeset 161
4c8b9c6d241f
parent 160
80700db530ff
--- a/src/2d.c	Thu Jun 19 19:22:07 2025 +0200
+++ b/src/2d.c	Sat Jun 21 22:10:54 2025 +0200
@@ -50,7 +50,6 @@
 
 static AscShaderProgram *asc_rectangle_shader_create(int flags) {
     AscShaderCodes codes;
-    // TODO: create a utility that rolls out those defines
     const char * const defines[] = {
         "#define FILL\n",
         "#define ROUNDED_CORNERS\n",
@@ -62,7 +61,7 @@
         .defines.frag_list = defines,
         .defines.frag_list_select = flags
     }, &codes)) {
-        asc_error("Loading sprite shader failed.");
+        asc_error("Loading rectangle shader failed.");
         return NULL;
     }
     AscRectangleShader *shader = asc_shader_create(codes, sizeof(*shader));
@@ -119,7 +118,7 @@
     if (border) shader_flags |= ASC_RECTANGLE_SHADER_FLAG_BORDER;
     if (round) shader_flags |= ASC_RECTANGLE_SHADER_FLAG_ROUND;
 
-    // Compute shader ID
+    // Lookup table for the shader ID
     const int shader_ids[] = {
         -1, // unused
         ASC_SHADER_RECTANGLE_FILL,
@@ -134,6 +133,7 @@
     // Look up and activate shader
     const AscRectangleShader *shader = asc_shader_lookup_or_create(
         shader_ids[shader_flags], asc_rectangle_shader_create, shader_flags);
+    if (shader == NULL) return;
     asc_shader_use(&shader->program, camera);
 
     // Upload uniforms

mercurial