Я намалював би один текстурований квадроцикл на землі (тобто лежачи на площині XZ), настільки ж великим, як має бути видима область, а потім пограти з координатами текстур вершин (з режимом адресації текстури, встановленим для обгортання ), щоб автоматично подбайте про повторення текстури та прокручування текстур .
- Для повторення замість того, щоб встановити вертикальну координату текстури від [0 до 1], встановіть її від [0 до N], де N - кількість разів, за яку ви хочете повторити текстуру. Відрегулюйте це значення залежно від того, наскільки високий ваш квадроцикл порівняно з висотою текстури.
- Для прокрутки я просто прокручую вертикальну координату текстури, так що замість [0 до N] вона буде варіюватися від [inc до N + inc], причому значення inc збільшується або зменшується кожен кадр. Час від часу я загорнути вкл назад в початок, щоб запобігти переповнення / спустошення.
EDIT Я просто спробував реалізувати це саме так, як я описав (але в XNA), і це спрацювало досить добре. Дивіться це відео демонстрації. Вихідний код тут для тих, хто цікавиться.
Наприклад, з N, рівним 3, ви отримаєте щось на зразок зображення нижче (я пофарбував середній розділ у червоний колір, щоб ви могли бачити, де відбувається повторення). Тоді, просто змінюючи значення inc , змусить прокрутити дорогу в ту чи іншу сторону, залежно від того, зробили ви її чи зменшили.