Как правило, объединение изображений в текстурный атлас - это то, что вы должны делать в автономном режиме вручную, как в программе для редактирования изображений, или с помощью пользовательских или специализированных инструментов . Это самый распространенный и рекомендуемый способ.
Если по какой-то причине вам придется делать это во время выполнения, то самый простой способ объединить изображения в одну текстуру - сначала загрузить все изображения, а затем использовать 2D-API Canvas. нарисуйте их в 2D-холст , затем используйте этот холст в качестве источника для texImage2D
в WebGL. Единственная проблема с использованием 2D-холста - это если вам нужны данные, отличные от изображений, потому что 2D-холст поддерживает только предварительно умноженную альфа.
В противном случае выполнение этого в WebGL - это просто вопрос рендеринга ваших меньших текстур в большую текстуру. , Рендеринг в текстуру требует создания текстуры, присоединения к кадровому буферу, а затем рендеринга, как если бы вы делали что-либо еще. См. this для рендеринга в текстуру и this для рендеринга любой части изображения в любое место холста или другой текстуры.