Я пытался добиться наложения текстуры, используя метод билинейной интерполяции. Я пытался растеризовать треугольник, поэтому сначала я нахожу барицентрические веса, а затем пытаюсь интерполировать координаты ультрафиолетового излучения, но не добился успеха.Может кто-нибудь подсказать мне, если я делаю что-то не так?
void baryWeights(int x4,int y4)
{
b1=(float)((x4*y2)-(x4*y3)-(x2*y4)+(x2*y3)+(x3*y4)-(x3*y2))/((x1*y2)-(x1*y3)-(x2*y1z)+(x2*y3)+(x3*y1z)-(x3*y2));
b2=(float)((x1*y4)-(x1*y3)-(x4*y1z)+(x4*y3)+(x3*y1z)-(x3*y4))/((x1*y2)-(x1*y3)-(x2*y1z)+(x2*y3)+(x3*y1z)-(x3*y2));
b3=(float)((x1*y2)-(x1*y4)-(x2*y1z)+(x2*y4)+(x4*y1z)-(x4*y2))/((x1*y2)-(x1*y3)-(x2*y1z)+(x2*y3)+(x3*y1z)-(x3*y2));
}
void linearinterpolation()
{
uc=b1*v1u+b2*v2u+b3*v3u;
vc=b1*v1v+b2*v2v+b3*v3v;
}
Я получаю искаженное наложение текстуры для этого кода, который я использую