Ich versuche, den Bildschirm auf eine Textur mit einer niedrigeren Auflösung als der Bildschirm selbst (um auf den Bildschirm zu rendern und erstellen Sie eine Unschärfe/Bloom-Effekt), und es zu erfassen funktioniert nicht ganz gut. Ich verstehe, dass Mipmaps verwendet werden können, um dies zu tun, aber ich kann einfach nicht die richtige Reihenfolge der Befehle erhalten.OpenGL - Kopieren Textur von Bildschirm kleiner als dieser Bildschirm
Mein aktueller Code:
width=1024;
height=1024;
glGenTextures(1, &texture);
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, texture);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glEnable (GL_BLEND);
glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 0, 0, width, height, 0);
// code for rendering the screen back on goes here