2012-02-14 39 views

回答

0

對於背景圖像,將圖像加載到紋理並將紋理應用於全屏三角形條。然後將您的粒子繪製在紋理三角形條的頂部。

// During initialization: 
int width = ..., height = ...; 
void *data = ...; 
GLuint tex; 

glGenTextures(1, &tex); 
glBindTexture(GL_TEXTURE_2D, tex); 
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB8, width, height, 
      0, GL_RGB, GL_UNSIGNED_BYTE, data); 
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); 
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 

// Drawing the textured primitive will be different depending on OpenGL version 

對於將圖像加載到內存中,您是獨一無二的。 OpenGL不解碼圖像格式。 (在Windows上你可以使用WIC,在Mac OS X/iOS上你可以使用Quartz,在Linux等上你可以使用LibPNG/LibJPEG/etc。)