rendering.c: fix sprite uv in batches, fix alpha blending of texture atlas

This commit is contained in:
2024-07-27 17:55:57 +03:00
parent f5ba4a75bd
commit 910e45a44b
4 changed files with 24 additions and 10 deletions

View File

@ -115,8 +115,6 @@ static void render_sprites(const struct primitive_2d primitives[],
NULL,
GL_STREAM_DRAW);
const t_rect srcrect =
textures_get_srcrect(&ctx.texture_cache, primitives->sprite.texture_key);
const t_rect dims =
textures_get_dims(&ctx.texture_cache, primitives->sprite.texture_key);
@ -130,6 +128,9 @@ static void render_sprites(const struct primitive_2d primitives[],
const size_t cur = reversed ? len - i - 1: i;
const struct sprite_primitive sprite = primitives[cur].sprite;
const t_rect srcrect =
textures_get_srcrect(&ctx.texture_cache, primitives[cur].sprite.texture_key);
const float wr = (float)srcrect.w / (float)dims.w;
const float hr = (float)srcrect.h / (float)dims.h;
const float xr = (float)srcrect.x / (float)dims.w;