Один метод, который я нашел для работы, - это просто нарисовать оба изображения в текущем контексте, а затем извлечь полученное объединенное изображение. Есть ли другой способ, более ориентированный на OpenGL, который может быть более эффективным?
// CGImageRef for background image
// CGImageRef for foreground image
// CGSize for current context
// Define CGContextRef for current context
// UIGraphicsBeginImageContext using CGSize
// Get value for current context with UIGraphicsGetCurrentContext()
// Define 2 rectangles, one for the background and one for the foreground images
// CGContextDrawImage(currentContext, backgroundRect, backgroundImage);
// CGContextDrawImage(currentContext, foregroundRect, foregroundImage);
// UIImage *finalImage = UIGraphicsGetImageFromCurrentImageContext();
// spriteImage = finalImage.CGImage();
// UIGraphicsEndImageContext();
На этом этапе вы можете использовать spriteImage в качестве источника изображения для текстуры, и это будет комбинация пустого PNG 512x512 с PNG 320x480, например.
Я заменю пустой PNG 512x512 изображением, сгенерированным в коде, но это работает.