J'essaie de créer une application OpenGL sous Windows. Autant que je puisse comprendre, une des premières choses que je dois acquérir est un contexte de dispositif, qui doit être passé à quelques fonctions qui choisissent et établissent un format de pixel et créent un contexte de rendu. J'ai utilisé the OpenGL wiki pour avoir une idée approximative de ce que je devrais faire. Mon code est quelque chose comme:OpenGL get Device Contexte
#include <iostream>
#include <windef.h>
#include <wingdi.h>
HDC hdc;
int main() {
hdc = wglGetCurrentDC();
std::cout << "HDC: " << hdc << std::endl;
return 0;
}
Cette imprime
HDC: 0
Je supposais un contexte périphérique fait référence à un dispositif physique, mais je lu quelque part qu'il fait référence à une « surface » drawable. Dans les deux cas est ma question: comment puis-je obtenir un DC non-nul? Ou devrais-je effectuer un ensemble d'étapes complètement différent afin de configurer tout ce système OpenGL?
J'ai trouvé beaucoup de tutoriels en ligne, mais ils utilisent tous les bibliothèques GLUT, GLEW, GLFW, X11, SDL, etc. Les bibliothèques facilitent certaines choses, mais elles n'effectuent généralement pas de tâches impossibles sans les utiliser. Cette fois, je veux essayer de faire les choses à la dure et donc n'utiliser aucune bibliothèque, juste OpenGL.
J'ai trouvé, enfin, a tutorial qui utilisait seulement les bibliothèques Windows pour créer une fenêtre.
je penserais aussi, mais l'article concerne principalement la création d'un contexte OpenGL, tandis que le contexte dont j'ai besoin est un contexte de périphérique. L'article stipule: "Vous devez savoir ce qu'est un handle de fenêtre (HWND) et un contexte de périphérique (DC), ainsi que la façon de les créer." –
Donc, vous voulez dire que le code n'est pas applicable dans ce cas. Je pense que vous pourriez avoir raison, mais alors la question devient comment je dois en créer un. –
Désolé, vous avez raison; parce que c'était une fonction WGL, je l'ai confondu avec 'wglGetCurrentContext'. –