Я пытался найти код, но нашел только устаревший. Я сделал только Verts & массивы индексов (надеюсь, они правильные):
const SDL_Point blocksCount = { 4, 16 }; //I have texture with 4x16 squares 8x8 px.
f32 *verts = new f32[(blocksCount.x + 1) * (blocksCount.y + 1) * 2];
for (f32 y = 1; y >= -1; y -= 0.125f) //So I can automatize.
for (f32 x = -1; x <= 1; x += 0.5f)
{
static u32 i = 0;
verts[i] = x;
i++;
verts[i] = y;
i++;
}
u16 *indices = new u16[blocksCount.x * blocksCount.y * 4];
for (s32 y = 0; y < blocksCount.y; y++) //I've used TRIANGLE_STRIP.
for (s32 x = 0; x < blocksCount.x; x++)
{
static u32 i = 0;
indices[i] = x + y * (blocksCount.x + 1);
indices[i + 1] = x + 1 + blocksCount.x + y * (blocksCount.x + 1);
indices[i + 2] = x + 1 + y * (blocksCount.x + 1);
indices[i + 3] = x + 2 + blocksCount.x + y * (blocksCount.x + 1);
i += 4;
}
Ну и что дальше? Мне нужен код для SDL 2 & OpenGL 4+.
Также новые идеи являются приемлемыми.
Задача ещё не решена.
Других решений пока нет …