aboutsummaryrefslogtreecommitdiff
path: root/src/o3d/vertex_data.cpp
blob: b05e382f737fc82ef94f9ba03abc39a8b0f18bb1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "o3d/vertex_data.h"

using namespace engine::o3d;

VertexData VertexData::lerp(const VertexData& vd1, const VertexData& vd2, float b0) {
    return {
        b0 * vd1.tx + (1.f - b0) * vd2.tx,
        b0 * vd1.ty + (1.f - b0) * vd2.ty
    };
}

VertexData VertexData::bilerp(const VertexData& vd1, const VertexData& vd2, const VertexData& vd3, float b0, float b1) {
    return {
        b0 * vd1.tx + b1 * vd2.tx + (1.f - b0 - b1) * vd3.tx,
        b0 * vd1.ty + b1 * vd2.ty + (1.f - b0 - b1) * vd3.ty
    };
}

VertexData::VertexData(float tx, float ty) : tx{tx}, ty{ty} {
}