0
создать 8 текстур через:OpenGL ES текстур все черные
GLuint textures[8];
glGenTextures(8, textures);
for (int i=0; i<num; i++) {
NSString *fileName = [NSString stringWithFormat:@"image0%d", i + 1];
CGImageRef spriteImage = [UIImage imageNamed:fileName].CGImage;
if (!spriteImage) {
NSLog(@"Failed to load image %@", fileName);
exit(1);
}
size_t kwidth = CGImageGetWidth(spriteImage);
size_t kheight = CGImageGetHeight(spriteImage);
GLubyte * spriteData = (GLubyte *) calloc(kwidth*kheight*4, sizeof(GLubyte));
glBindTexture(GL_TEXTURE_2D, textures[i]);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, kwidth, kheight, 0, GL_RGBA, GL_UNSIGNED_BYTE, spriteData);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glGenerateMipmap(GL_TEXTURE_2D);
}
Но получить все черные текстуры:
Как я могу решить это?
Спасибо, я так глуп, что я удалить 'CGContextRef spriteContext = CGBitmapContextCreate (spriteData, kwidth, kheight, 8, kwidth * 4, CGImageGetColorSpace (spriteImage), kCGImageAlphaPremultipliedLast); CGContextDrawImage (spriteContext, CGRectMake (0, 0, kwidth, kheight), spriteImage); CGContextRelease (spriteContext); '. – Allen