Типичный способ использования спрайтов с современными 3D-API, такими как OpenGL, заключается в использовании текстурных координат для адресации различных частей вашей отдельной текстуры. Хотя вы можете разбить его на части, гораздо удобнее использовать текстурные координаты.
Например, если бы у вас был простой спрайт с 3 кадрами по горизонтали, каждый по 32 на 32 пикселя (для общего размера 96x32), вы бы использовали следующий код для рисования 3-го кадра:
// I assume you have bound your source texture
// This is the U coordinate's origin in texture space
float xStart = 64.0f / 96.0f;
// This is one frame width in texture space
float xIncrement = 32.0f / 96.0f;
glBegin(GL_QUADS);
glTexCoord2f(xStart, 0);
glVertex2f(-16.0f, 16.0f);
glTexCoord2f(xStart, 1.0f);
glVertex2f(-16.0f, -16.0f);
glTexCoord2f(xStart + xIncrement, 0);
glVertex2f(16.0f, 16.0f);
glTexCoord2f(xStart + xIncrement, 1.0f);
glVertex2f(16.0f, -16.0f);
glEnd();