Support alpha in scene layer

main
En Yi 2025-09-02 20:53:58 +08:00
parent 007211cee8
commit f1cbfbd4b1
2 changed files with 3 additions and 1 deletions

View File

@ -235,6 +235,7 @@ bool add_scene_layer(Scene_t* scene, int width, int height, Rectangle render_are
scene->layers.render_layers[scene->layers.n_layers].layer_tex = LoadRenderTexture(width, height); scene->layers.render_layers[scene->layers.n_layers].layer_tex = LoadRenderTexture(width, height);
scene->layers.render_layers[scene->layers.n_layers].render_area = render_area; scene->layers.render_layers[scene->layers.n_layers].render_area = render_area;
scene->layers.render_layers[scene->layers.n_layers].alpha = 1.0f;
scene->layers.n_layers++; scene->layers.n_layers++;
return true; return true;
} }
@ -301,7 +302,7 @@ static void _internal_render_scene(Scene_t* scene)
layer->layer_tex.texture, layer->layer_tex.texture,
draw_rec, draw_rec,
draw_pos, draw_pos,
WHITE ColorAlpha(WHITE, layer->alpha)
); );
} }
} }

View File

@ -55,6 +55,7 @@ sc_array_def(system_func_t, systems);
typedef struct RenderLayer { typedef struct RenderLayer {
RenderTexture2D layer_tex; RenderTexture2D layer_tex;
Rectangle render_area; Rectangle render_area;
float alpha;
}RenderLayer_t; }RenderLayer_t;
typedef struct SceneRenderLayers { typedef struct SceneRenderLayers {