Поэтому недавно я решил создать игру и использовать для этого новые версии OpenGL (примечание: игра 2D).
Пока у меня есть VBO для каждого класса, который можно рисовать. Я сделал это, чтобы избежать VBO для 1 экземпляра класса (6 * 3 элемента). Теперь, как вы знаете, раньше вы рендерили VBO, вы привязываете текстуру. Теперь проблема в том, что я начал реализовывать анимацию, затем я понял, что анимация невозможна таким образом, я не могу визуализировать VBO, который может содержать 5 черепах с разной текстурой для каждой черепахи (разные текстуры для каждой анимации ключевой кадр).
Подведем итог: * Один VBO содержит несколько черепах. Одна черепаха решает атаковать. Начните анимацию, переключившись на текстуру атаки. Оказывать. Все черепахи в VBO атакуют. *
Вот вопрос:
- Есть ли способ переключать текстуры внутри шейдеров?
- если это невозможно, что я могу сделать?
1 ответ
Нашел собственное решение:
Для каждого объекта, который может иметь анимацию, создайте таблицу спрайтов, а затем измените только координаты ST вместо повторной привязки текстуры для следующего кадра.
Похожие вопросы
Новые вопросы
opengl
OpenGL (Open Graphics Library) - это графический стандарт и API, который не зависит от платформы и доступен для настольных компьютеров, рабочих станций и мобильных устройств. Он предназначен для обеспечения аппаратно-ускоренного рендеринга и, следовательно, значительно повышает производительность по сравнению с традиционным программным рендерингом. OpenGL используется для таких приложений, как программное обеспечение САПР и компьютерные игры. Стандарт OpenGL, как и OpenGL ES, контролируется группой Khronos.