twn_rendering: have triangle uvs represented by floating vectors

This commit is contained in:
veclav talica 2024-10-01 20:52:19 +03:00
parent ba70a566e1
commit 0dc3cf4160
3 changed files with 17 additions and 17 deletions

View File

@ -70,17 +70,17 @@ static void ingame_tick(State *state) {
(Vec3){ (float)x, d0, (float)y }, (Vec3){ (float)x, d0, (float)y },
(Vec3){ (float)x + 1, d1, (float)y }, (Vec3){ (float)x + 1, d1, (float)y },
(Vec3){ (float)x, d3, (float)y - 1 }, (Vec3){ (float)x, d3, (float)y - 1 },
(Vec2sh){ 128, 128 }, (Vec2){ 128, 128 },
(Vec2sh){ 128, 0 }, (Vec2){ 128, 0 },
(Vec2sh){ 0, 128 }); (Vec2){ 0, 128 });
unfurl_triangle("/assets/grass.png", unfurl_triangle("/assets/grass.png",
(Vec3){ (float)x + 1, d1, (float)y }, (Vec3){ (float)x + 1, d1, (float)y },
(Vec3){ (float)x + 1, d2, (float)y - 1 }, (Vec3){ (float)x + 1, d2, (float)y - 1 },
(Vec3){ (float)x, d3, (float)y - 1 }, (Vec3){ (float)x, d3, (float)y - 1 },
(Vec2sh){ 128, 0 }, (Vec2){ 128, 0 },
(Vec2sh){ 0, 0 }, (Vec2){ 0, 0 },
(Vec2sh){ 0, 128 }); (Vec2){ 0, 128 });
} }
} }

View File

@ -15,8 +15,8 @@ typedef struct PushSpriteArgs {
Rect rect; Rect rect;
m_option_list( m_option_list(
Rect, texture_region, Rect, texture_region,
Color, color, Color, color,
float, rotation, float, rotation,
bool, flip_x, bool, flip_x,
bool, flip_y, bool, flip_y,
@ -45,9 +45,9 @@ TWN_API void unfurl_triangle(const char *path,
Vec3 v0, Vec3 v0,
Vec3 v1, Vec3 v1,
Vec3 v2, Vec3 v2,
Vec2sh uv0, Vec2 uv0,
Vec2sh uv1, Vec2 uv1,
Vec2sh uv2); Vec2 uv2);
// TODO: decide whether it's needed to begin with? // TODO: decide whether it's needed to begin with?
// intended usage for it is baked lighting, i would think. // intended usage for it is baked lighting, i would think.

View File

@ -12,9 +12,9 @@ void unfurl_triangle(const char *path,
Vec3 v0, Vec3 v0,
Vec3 v1, Vec3 v1,
Vec3 v2, Vec3 v2,
Vec2sh uv0, Vec2 uv0,
Vec2sh uv1, Vec2 uv1,
Vec2sh uv2) Vec2 uv2)
{ {
const TextureKey texture_key = textures_get_key(&ctx.texture_cache, path); const TextureKey texture_key = textures_get_key(&ctx.texture_cache, path);
@ -29,9 +29,9 @@ void unfurl_triangle(const char *path,
.v0 = v0, .v0 = v0,
.v1 = v1, .v1 = v1,
.v2 = v2, .v2 = v2,
.uv1 = m_vec2_from(uv1), .uv1 = uv1,
.uv0 = m_vec2_from(uv0), .uv0 = uv0,
.uv2 = m_vec2_from(uv2), .uv2 = uv2,
}}; }};
union UncoloredSpaceTriangle *triangles = (union UncoloredSpaceTriangle *)batch_p->value.primitives; union UncoloredSpaceTriangle *triangles = (union UncoloredSpaceTriangle *)batch_p->value.primitives;