[img]https://i .sstatic.net/JmyaMd2C.png[/img]
Мне нужно что-то вроде этого:
[img]https: //i.sstatic.net/pBc8Xpzf.png[/img]
В коде я загружаю текстуры из папки и конвертирую их в единый текстурный атлас; в коде для каждой текстуры в атласе генерируется класс UVRegion, где координаты текстуры:
Код: Выделить всё
class UVRegion {
public:
float u1;
float v1;
float u2;
float v2;
UVRegion(float u1, float v1, float u2, float v2)
: u1(u1), v1(v1), u2(u2), v2(v2) {}
UVRegion() : u1(0.0f), v1(0.0f), u2(1.0f), v2(1.0f) {}
};
Код: Выделить всё
std::vector vertices = {
0.5f, 0.5f, -0.5f, brick->u1, brick->v2,
0.5f, -0.5f, -0.5f, brick->u1, brick->v1,
-0.5f, -0.5f, -0.5f, brick->u2, brick->v1,
-0.5f, 0.5f, -0.5f, brick->u2, brick->v2,
0.5f, 0.5f, 0.5f, brick->u1, brick->v2,
0.5f, -0.5f, 0.5f, brick->u1, brick->v1,
-0.5f, -0.5f, 0.5f, brick->u2, brick->v1,
-0.5f, 0.5f, 0.5f, brick->u2, brick->v2,
0.5f, 0.5f, 0.5f, brick->u1, brick->v2,
0.5f, 0.5f, -0.5f, brick->u2, brick->v2,
0.5f, -0.5f, -0.5f, brick->u2, brick->v1,
0.5f, -0.5f, 0.5f, brick->u1, brick->v1,
-0.5f, 0.5f, 0.5f, brick->u1, brick->v2,
-0.5f, 0.5f, -0.5f, brick->u2, brick->v2,
-0.5f, -0.5f, -0.5f, brick->u2, brick->v1,
-0.5f, -0.5f, 0.5f, brick->u1, brick->v1,
0.5f, 0.5f, 0.5f, brick->u1, brick->v2,
0.5f, 0.5f, -0.5f, brick->u2, brick->v2,
-0.5f, 0.5f, -0.5f, brick->u2, brick->v1,
-0.5f, 0.5f, 0.5f, brick->u1, brick->v1,
0.5f, -0.5f, 0.5f, brick->u1, brick->v2,
0.5f, -0.5f, -0.5f, brick->u2, brick->v2,
-0.5f, -0.5f, -0.5f, brick->u2, brick->v1,
-0.5f, -0.5f, 0.5f, brick->u1, brick->v1,
};
Подробнее здесь: https://stackoverflow.com/questions/784 ... ngl-object