static guint icon_to_texture(GdkPixbuf* icon) { dbg(0, "icon: pixbuf=%ix%i %ibytes/px", gdk_pixbuf_get_width(icon), gdk_pixbuf_get_height(icon), gdk_pixbuf_get_n_channels(icon)); glBindTexture (GL_TEXTURE_2D, textures[t_idx++]); glTexParameterf (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameterf (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexImage2D (GL_TEXTURE_2D, 0, GL_RGBA, gdk_pixbuf_get_width(icon), gdk_pixbuf_get_height(icon), 0, GL_RGBA, GL_UNSIGNED_BYTE, gdk_pixbuf_get_pixels(icon)); gl_warn("texture bind"); g_object_unref(icon); return textures[t_idx - 1]; }
AGlActor* background_actor(WaveformActor* view) { agl = agl_get_instance(); void agl_load_alphamap(char* buf, guint texture, int width, int height) { int pixel_format = GL_ALPHA; glBindTexture (GL_TEXTURE_2D, texture); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexImage2D(GL_TEXTURE_2D, 0, GL_ALPHA, width, height, 0, pixel_format, GL_UNSIGNED_BYTE, buf); #ifdef DEBUG gl_warn("binding bg texture"); #endif }