1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
on_draw_dst()
{
//je récupère le context de la fenetre destination
HGLRC gl_context = wglGetCurrentContext ();
HDC dc_dst = wglGetCurrentDC ();
//win_src est le HWND de la fenetre source, la seule donnée
HDC dc_src = GetDC (win_src);
wglMakeCurrent (dc_src, gl_context);
//je me suis que je fait pouvoir récupérer le contenu de la fenetre source
//de la manière suivante
glReadBuffer (GL_BACK);
glEnable (GL_TEXTURE_2D);
glBindTexture (GL_TEXTURE_2D, texture);
glCopyTexImage2D (GL_TEXTURE_2D, 0, GL_RGBA, 0, 0, W, H, 0);
ReleaseDC (win_src, dc_src);
//je remet le context de la fenetre destination, courant
wglMakeCurrent (dc_dst, gl_context);
//dessin de "texture" dans la fenetre de destination
....
}
sachant que la texture est crée avec glGenTexture et glTexImage2D(..., W, H, ...., NULL) |
Partager