Ознакомьтесь с OpenGL ES на iPhone. Пример OpenGL ES для iPhone SDK — отличная отправная точка. Изучите наложение текстуры. Как только вы познакомитесь с glTexImage2D, используйте его для загрузки изображения.
Пример можно легко расширить следующим образом:
имеют эти определения:
GLuint spriteTexture;
GLubyte *spriteData; // the perlin noise will be here
size_t width, height;
затем в методе инициализации ESRenderer создайте место для текстуры:
- (id) init { ....
width = 512; // make sure the texture size is the power of 2
height = 512;
glGenTextures(1, &spriteTexture);
glBindTexture(GL_TEXTURE_2D, spriteTexture);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, spriteData);
//free(spriteData); // free this if not used any more
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
В случае, если шум периодически обновляется, обновите текстуру в методе рендеринга.
- (void) render { .....
glBindTexture(GL_TEXTURE_2D, spriteTexture);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, spriteData);