Share via


wglMakeCurrent, fonction (wingdi.h)

La fonction wglMakeCurrent fait d’un contexte de rendu OpenGL spécifié le contexte de rendu actuel du thread appelant. Tous les appels OpenGL suivants effectués par le thread sont dessinés sur l’appareil identifié par hdc. Vous pouvez également utiliser wglMakeCurrent pour modifier le contexte de rendu actuel du thread appelant afin qu’il ne soit plus actuel.

Syntaxe

BOOL wglMakeCurrent(
  HDC   unnamedParam1,
  HGLRC unnamedParam2
);

Paramètres

unnamedParam1

Handle vers un contexte de périphérique. Les appels OpenGL suivants effectués par le thread appelant sont dessinés sur l’appareil identifié par hdc.

unnamedParam2

Gérez dans un contexte de rendu OpenGL que la fonction définit comme contexte de rendu du thread appelant.

Si hglrc a la valeur NULL, la fonction rend le contexte de rendu actuel du thread appelant non plus actuel et libère le contexte d’appareil utilisé par le contexte de rendu. Dans ce cas, hdc est ignoré.

Valeur retournée

Lorsque la fonction wglMakeCurrent réussit, la valeur de retour est TRUE ; sinon, la valeur de retour est FALSE. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

Le paramètre hdc doit faire référence à une surface de dessin prise en charge par OpenGL. Il ne doit pas nécessairement s’agir du même hdc passé à wglCreateContext lors de la création de hglrc , mais il doit se trouver sur le même appareil et avoir le même format de pixel. La transformation et le découpage GDI dans hdc ne sont pas pris en charge par le contexte de rendu. Le contexte de rendu actuel utilise le contexte d’appareil hdc jusqu’à ce que le contexte de rendu ne soit plus actuel.

Avant de basculer vers le nouveau contexte de rendu, OpenGL vide tout contexte de rendu précédent qui était actif sur le thread appelant.

Un thread peut avoir un contexte de rendu actuel. Un processus peut avoir plusieurs contextes de rendu au moyen de multithreading. Un thread doit définir un contexte de rendu actuel avant d’appeler des fonctions OpenGL. Sinon, tous les appels OpenGL sont ignorés.

Un contexte de rendu ne peut être actif que pour un seul thread à la fois. Vous ne pouvez pas rendre un contexte de rendu actif sur plusieurs threads.

Une application peut effectuer un dessin multithread en rendant différents contextes de rendu actuels sur différents threads, en fournissant à chaque thread son propre contexte de rendu et son propre contexte d’appareil.

Si une erreur se produit, la fonction wglMakeCurrent rend le contexte de rendu actuel du thread non actuel avant le retour.

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête wingdi.h
Bibliothèque Opengl32.lib
DLL Opengl32.dll

Voir aussi

OpenGL sur Windows

Fonctions WGL

wglCreateContext

wglDeleteContext

wglGetCurrentContext

wglGetCurrentDC