Looong tamponu "köşe; texcoord" tekrarlayabilirsiniz. Ve sadece endeksleri nasıl söylediğini kullan. Muhtemelen en kolay ve bildiklerinize benzer.
Biraz bellek kaydetmek istiyorsanız. Oldukça düzgün bir çözüm var ve birleştirmek texcoords ile tampon bir sprite sahip ve UV dönüşüm matrisi oluşturmak ve gölgelendirici göndermek ve onunla (köşe gölgeleyici) texcoords çarpmaktır.
Eğer bu konuda iyi değilseniz, kendiniz matris oluşturmak zorunda değilsiniz. Sadece normal GL fonksiyonlarını kullanabilir ve fonksiyon ile matris okuyabilirsiniz glGetFloatv
. Bunun gibi:
glGetFloatv (GL_MODELVIEW_MATRIX ,&g_TexCoordMat);
Daha iyi tanımlamak için görüntü oluşturdum. glTranslate ang glScale, UV alanı esasına göre hareket ediyormuş gibi görünebilir.
Gölgelendiriciye matris göndermeyi bilmiyorsanız, sizinle bazı kodları paylaşabilirim.
Düzenleme: Eklenen resim
(kullandığım sprite sayfası için kaynak: funorb.com )