I have succeed in loading an image to OpenGL as a texture (I use Gdk::Pixbuf from GTKmm library), but I have no idea how to get modified image from OpenGL and load it to Gdk::Pixbuf...
I want to modify images in OpenGL and the save them on hard disk.
There is some code:
Glib::RefPtr<Gdk::Pixbuf> pixmap = Gdk::Pixbuf::create_from_file("image.jpg");
GLuint texture[1];
glBindTexture(GL_TEXTURE_2D, texture[1]);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, pixmap->get_width(), pixmap->get_height(), 0, GL_RGB, GL_UNSIGNED_BYTE, pixmap->get_pixels() );
Render textured quad to the framebuffer and then glReadPixels().
As long as you don't use OpenGL ES, but real desktop OpenGL, you can just use glGetTexImage.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With