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 + 1, d1, (float)y },
(Vec3){ (float)x, d3, (float)y - 1 },
(Vec2sh){ 128, 128 },
(Vec2sh){ 128, 0 },
(Vec2sh){ 0, 128 });
(Vec2){ 128, 128 },
(Vec2){ 128, 0 },
(Vec2){ 0, 128 });
unfurl_triangle("/assets/grass.png",
(Vec3){ (float)x + 1, d1, (float)y },
(Vec3){ (float)x + 1, d2, (float)y - 1 },
(Vec3){ (float)x, d3, (float)y - 1 },
(Vec2sh){ 128, 0 },
(Vec2sh){ 0, 0 },
(Vec2sh){ 0, 128 });
(Vec2){ 128, 0 },
(Vec2){ 0, 0 },
(Vec2){ 0, 128 });
}
}

View File

@ -15,8 +15,8 @@ typedef struct PushSpriteArgs {
Rect rect;
m_option_list(
Rect, texture_region,
Color, color,
Rect, texture_region,
Color, color,
float, rotation,
bool, flip_x,
bool, flip_y,
@ -45,9 +45,9 @@ TWN_API void unfurl_triangle(const char *path,
Vec3 v0,
Vec3 v1,
Vec3 v2,
Vec2sh uv0,
Vec2sh uv1,
Vec2sh uv2);
Vec2 uv0,
Vec2 uv1,
Vec2 uv2);
// TODO: decide whether it's needed to begin with?
// 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 v1,
Vec3 v2,
Vec2sh uv0,
Vec2sh uv1,
Vec2sh uv2)
Vec2 uv0,
Vec2 uv1,
Vec2 uv2)
{
const TextureKey texture_key = textures_get_key(&ctx.texture_cache, path);
@ -29,9 +29,9 @@ void unfurl_triangle(const char *path,
.v0 = v0,
.v1 = v1,
.v2 = v2,
.uv1 = m_vec2_from(uv1),
.uv0 = m_vec2_from(uv0),
.uv2 = m_vec2_from(uv2),
.uv1 = uv1,
.uv0 = uv0,
.uv2 = uv2,
}};
union UncoloredSpaceTriangle *triangles = (union UncoloredSpaceTriangle *)batch_p->value.primitives;