Puoi usare una striscia di quad con la stessa texture ripetuta invece che uno soltanto.
Per lo scrolling, manipoli il vertex buffer (o ridisegni i quad se usi direttamentre le primitive) che usi per disegnarli per fare in modo che nella direzione in cui il PG cammina, ci sia sempre un quad pronto offscreen. Credo ti basti una striscia con 3 quad, uno offscreen davanti e uno offscreen dietro (se lo scroll è bidirezionale). Non appena entra nella visuale uno dei quad che sono offscreen (diciamo, quando è per metà nella visuale e metà ancora fuori), mofichi gli indici dei vertici così che quello che è offscreen nella direzione opposta diventa il nuovo offscreen nella direzione in cui cammini.
In questo modo inoltre hai il vantaggio che puoi animare e creare sfondi compositi (con attori o entità che si muovono coerentemenre con le regole fisiche del tuo mondo) tramite l'additività del vettore velocità che usi per la traslazione della parallasse senza troppi problemi.
Pensa ad un nemico volante che si muova sullo sfondo del terzo layer ad una velocità X (che poi è la stessa che ha quando lo hai sul layer in cui si svolge l'azione di gioco). Se il vettore velocità che usi per la parallasse del terzo layer è Y, la sua velocità apparente sarà X + Y.
Si usano trucchetti simili anche quando nei simulatori spaziali vuoi dar l'impressione della velocità facendo vedere dei punti o delle point texture che si muovono verso la camera: prepari una matrice 3x3 di 27 cubi con il "rumore" che simula la velocità attorno alla camera e aggiorni gli indici man mano che la camera si muove. Poi disegni la scena.
In questo modo utilizzi la stessa unità di misura anche per lo sfondo ed eviti molti bug (in particolare sui chip integrati economici) che alcuni chipset o driver hanno sulla manipolazione delle texture coordinates. Mi sa che guadagni anche qualcosina prestazionalmente (modificare un vertex buffer dovrebbe costare meno di animare texture) ma non penso faccia una differenza significativa se non sui chipset più scarsi!