Это маловероятно, что вы используете тот же код, потому что это специально проверяет, что текстуры одинаковы (assert(front.getTexture() == back.getTexture());
).
Цитата из учебника:
Чтобы решить, что мы могли бы использовать ModelCache, который, так же, как SpriteBatch, сочетает в себе все карты в один делают вызов. Однако можно оптимизировать еще больше, не создавая сетку для каждой карты. Это возможно, потому что каждая карта использует ту же текстуру и, таким образом, тот же материал. Так же, как мы можем объединить переднюю и заднюю стороны каждой карты, из-за этого мы также можем объединить все карты из-за этого. Это также решило бы проблему размещения, которую мы должны были исправить.
Если вы хотите использовать две различные текстуры и не можете их упаковывать, вы не можете объединить эти вызовы рендеринга. Разумеется, вы могли бы объединить вызовы рендеринга, которые используют одну и ту же текстуру. Что, я думаю, в вашем случае означает, что вам нужно разбить карты на переднюю и заднюю вершины. Затем вы можете использовать две (или более) партии и комбинировать вызовы рендеринга, которые имеют одну и ту же текстуру.
Конечно, есть причина, почему используется атлас текстуры: производительность. Использование множества отдельных текстур приведет к появлению многих вызовов рендеринга, для чего требуется, чтобы GPU и CPU синхронизировались, а потому плохо для производительности. Если вы действительно не хотите использовать атлас текстуры, вы, в конце концов, заметите это. Таким образом, похоже, что вы пытаетесь решить неправильную проблему.
Очевидное решение состоит в том, чтобы просто наложить текстуры на атлас, чтобы вы действительно могли объединить вызовы рендеринга. Динамическое их загружение не означает, что вы не можете их упаковывать. См .: PixmapPacker.
Это звучит разумно ... На данный момент я выбрал такой подход: для всех карт, показывающих спину, я использую ваш подход (stepa). Для нескольких карт, которые показывают фронт, я использую ваш подход к карте, которая может быть рендерируемой. На передней панели не будет более 20 карт. Однако теперь я сталкиваюсь с проблемой, что карты являются динамическими и включают в себя письменный текст (интернационализированный). Поэтому мне нужно создать текстуры для них на лету, и мне они нужны 600x800. Мой первый подход состоял в том, чтобы использовать FBO для этого, но затем они потеряются при потере контекста. Поэтому использование Pixmaps похоже на правильный подход. – mbauer
Ох .. и если угол> 90 и <270 я бы просто переключил текстуру материала ... когда-то создавая его ... – mbauer
Не пытайтесь решить проблемы, которых не существует. См. Http://badlogicgames.com/forum/viewtopic.php?f=11&t=20757&p=86106#p86095 – Xoppa