OpenGL w BCB: wglMakeCurrent

0

Witam,

Probuje sie zaznajomic z funkcjami openGL i mam problem z przelaczaniem kontekstu rysowania grafiki.

Mam dwa obiekty typu panel : p oraz p1,

hDC=GetDC(p->Handle);
hRC=wglCreateContext(hDC);
wglMakeCurrent(hDC, hRC);

  • nie ma klopotu. Ale jak mam przelaczyc sie na panel p1?
0

Cóż, to zabawne ale odpowiem sobie sam:

podobnie jak z panelem p, tworzymy drugi kontekst urządzenia dla p1:

hDC1=GetDC(p1->Handle);

nie musimy natomiast tworzyć drugiego kontekstu rysowania dla OpenGL'a, aby się przełączyć na p1 i na nim rysować wystarczy komenda

wglMakeCurrent(hDC1,hRC);

  • wcześniej mi nie działało, ponieważ po wykonaniu operacji rysowania nie poprawiłem w funkcji wglSwapBuffers() kontekstu urządzenia tzn.

powinno być wglSwapBuffers(hDC1) a było wglSwapBuffers(hDC) i stąd brak spodziewanego efektu...

1 użytkowników online, w tym zalogowanych: 0, gości: 1