src/scene.c

changeset 139
5d655459db85
parent 137
f8e6e0ae61a8
--- a/src/scene.c	Sun Jun 08 14:57:54 2025 +0200
+++ b/src/scene.c	Sun Jun 08 14:58:19 2025 +0200
@@ -96,16 +96,16 @@
     // TODO: implement interleaving by depth
     if (cxIteratorValid(iter_opaque_rect)) {
         glDisable(GL_BLEND);
-        AscShaderSprite *shader = ASC_SHADER_SPRITE_RECT;
-        asc_shader_program_use(&shader->program, &scene->camera);
+        const AscShaderProgram *shader = asc_sprite_shader_rect();
+        asc_shader_use(shader, &scene->camera);
         cx_foreach(const AscSprite*, node, iter_opaque_rect) {
             asc_sprite_draw(shader, node);
         }
     }
     if (cxIteratorValid(iter_opaque_uv)) {
         glDisable(GL_BLEND);
-        AscShaderSprite *shader = ASC_SHADER_SPRITE_UV;
-        asc_shader_program_use(&shader->program, &scene->camera);
+        const AscShaderProgram *shader = asc_sprite_shader_uv();
+        asc_shader_use(shader, &scene->camera);
         cx_foreach(const AscSprite*, node, iter_opaque_uv) {
             asc_sprite_draw(shader, node);
         }
@@ -113,8 +113,8 @@
     if (cxIteratorValid(iter_blend_rect)) {
         glEnable(GL_BLEND);
         glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-        AscShaderSprite *shader = ASC_SHADER_SPRITE_RECT;
-        asc_shader_program_use(&shader->program, &scene->camera);
+        const AscShaderProgram *shader = asc_sprite_shader_rect();
+        asc_shader_use(shader, &scene->camera);
         cx_foreach(const AscSprite*, node, iter_blend_rect) {
             asc_sprite_draw(shader, node);
         }
@@ -122,8 +122,8 @@
     if (cxIteratorValid(iter_blend_uv)) {
         glEnable(GL_BLEND);
         glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-        AscShaderSprite *shader = ASC_SHADER_SPRITE_UV;
-        asc_shader_program_use(&shader->program, &scene->camera);
+        const AscShaderProgram *shader = asc_sprite_shader_uv();
+        asc_shader_use(shader, &scene->camera);
         cx_foreach(const AscSprite*, node, iter_blend_uv) {
             asc_sprite_draw(shader, node);
         }

mercurial