Problem polega mianowicie na tym, że mam spory kod, który wyświetla w oknie mnóstwo elementów takie jak kilka warstw mapy, okna (ekwipunek itp.), postaci, itd. - wszystko umieszczone jest w jednym wątku, więc boję się o spadki FPSów, w szczególności na starszych komputerach.
Sporo czytałem o wielowątkowości w OpenGLu i jedynym sposobem, który na chwilę obecną zadziałał, chociaż w minimalnym stopniu - mianowicie - nie zwraca błędu - jest SharedDrawable
Nie jestem pewien co źle robię, bo mimo iż błędu nie zwraca (co było okropne w wypadku GLContext, gdyż nonstop występowały błędy), to nie rysuje nic z drugiego wątku...
Wątek główny:
SharedDrawable drawable = new SharedDrawable(Display.getDrawable());
new WatekDrugi();
Wątek drugi:
Thread watek;
public WatekDrugi(){
watek = new Thread(this);
watek.start();
public void run(){
try{ WatekPierwszy.drawable.makeCurrent(); }catch(Exception e) e.printStackTrace(); }
while( watek.isAlive() ){
// Tutaj rysuję kwadrat za pomocą glBegin(GL_QUADS), glVertex2f() oraz glEnd();
try{ watek.sleep(100); }catch(Exception e){ e.printStackTrace(); }
}
}
Jak temu zaradzić, aby rysowało "kwadrat" z drugiego wątku?