Bonjour à tous,
J'ai une appli C++ (wxwidgets et opengl) qui génère des images à l'écran (les tests se font sur winXP). Jusque la, aucun soucis. Mais j'ai besoin (pour des raisons d'intégration dans un serveur d'application par JNI) de créer à partir de cette appli des images non plus à l'écran, mais dans des fichiers images (pour qu'elle soit insérées dans une page web)... et la ça se complique car je dois faire ça sans fenêtre de rendu.
La vraie question est "ou que je chope mon hdc dans ce cas ??"
Parce que pour l'application classique j'ai un wglCreateContext(hdc) où hdc est le handle de ma fenetre de rendu. Et comme j'en ai pas dans ce cas, ben j'ai essayé de prendre celui d'un wxMemoryDC, ... mais sans résultat car le SetPixelFormat qui suit me renvoie false
J'ai bien vu dans la FAQ openGL le lien vers MESA... mais a vrai dire, ça me dit pas quel DC je lui donne ?!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
30
31
32
33
34 PIXELFORMATDESCRIPTOR pfd = { sizeof(PIXELFORMATDESCRIPTOR), //taille du descripteur 1, //version PFD_SUPPORT_OPENGL | PFD_SUPPORT_GDI | PFD_DRAW_TO_BITMAP | PFD_DOUBLEBUFFER, //Propriété PFD_TYPE_RGBA, //Mode de couleurs 32, //Bits de couleur 0, 0, 0, 0, 0, 0, //Paramètres des couleurs 0,0, //Paramètres 0, //Bits du buffer stencil 0, //Nombre de buffers auxiliaires 0, //ignoré (obsolète) 0, //réservé/code> 0, //ignoré (obsolète) 0, //Couleur de transparence 0 //Ignoré (obsolète) }; int pixelFormat; pixelFormat = ChoosePixelFormat(dc, &pfd); if (!pixelFormat) { MessageBox( WindowFromDC(dc), "Mode graphique non supporté", "Problème", MB_ICONERROR | MB_OK); exit(1); //Vérifie si un PixelFormat du type demandé existe } if (!SetPixelFormat(dc, pixelFormat, &pfd)) { MessageBox(WindowFromDC(dc), "Mode graphique non supporté", "Problème", MB_ICONERROR | MB_OK); }
Quelqu'un aider moi ?
Partager