openGL nowy wątek w winAPI nie działa rysowanie

0

Witam.

Piszę pewną aplikacje w winApi i openGL.

Założenie jest takie, że po włączeniu programu pojawia mi się okno główne (czyli zwykłe małe okienko) z przyciskiem pełny ekran.

po kliknięciu tworze nowe okno i w tym nowym oknie tworze nowy wątek:

 
DWORD WINAPI fullScreenThread(PVOID pvParam){	
	
	while(true){		
		DrawGLScene();
		SwapBuffers(hDC);		
		cout << "powinno dzialac \n";		
		Sleep(100);
	}
	
}

i wszystko ładnie pięknie gdyby na ekranie coś wyskoczyło ale pojawia się tylko czarny ekran czyli działa SwapBuffers(hDC)

ale gdy zrobię tak:

 

/* 
DWORD IdWatku;
CreateThread(NULL, 0, fullScreenThread, (PVOID) 9, 0, &IdWatku); 
*/
	
	
	MSG messages;  
		
	while (GetMessage (&messages, NULL, 0, 0)){        
       TranslateMessage(&messages);        
        DispatchMessage(&messages); 
		DrawGLScene();
		SwapBuffers(hDC);
    } 

to wszystko działa jak należy.

Czy ktoś może mi poradzić gdzie może być błąd?

0

Rysuj w tym samym wątku, w którym otwierasz okno. Dodatkowe wątki mogą służyć do obliczania czegoś w tle, albo do obsługi innych okien.

Inaczej: okno jest przypisane do wątku, a każdy wątek ma (albo nie ma) osobną pętlę zdarzeń.

0

skoro nie ma innej opcji to muszę zrobić tak jak radzicie :) dzięki.

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