Ich schreibe gerade ein RTS engine. Dazu Ich habe da mal
so ein paar Fragen:
1) Wenn ich scrolle dann bewegt sich die Karte nicht ganz
gleichmäßig. Es sieht so aus als ob alles zittert. Liegt das
irgendwie am V-sync oder so was?
2) Kann man im Ortho2d mode Lichter gebrauchen? Wenn ja, was
wird da anders gemacht als sonst.
3) Wenn das programm lauft, gehen alle Timer irgendwie nicht mehr,
nur noch das wo ich rendere (WMpaint). Wie kann ich ein Timer machen
das der auch noch geht?
4) Wenn ich fullscreen gebrauchen möchte, ist es ok wenn man die form
maximized und den borderstyle auf none stellt oder gibt es da eine
korrekte Art das in Opengl zu machen?
5) Wenn ein programm schliesst das wie oben beschrieben im full-screen
mode ist, dann bleibt im taskbar es immer noch da (Win98). Hat jemand
eine Lösung?
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Zitat:
1) Wenn ich scrolle dann bewegt sich die Karte nicht ganz gleichmäßig. Es sieht so aus als ob alles zittert. Liegt das irgendwie am V-sync oder so was?
Könnte am VSync liegen, kommt aber drauf an wie du das Scrolling realisierst. Wenn du das ganze framebasierend machst, ist dein Scrolling logischerweise von deinen FPS abhängig.Hier würde dann eine zeitbasierende Routine Abhilfe schaffen.
Zitat:
2) Kann man im Ortho2d mode Lichter gebrauchen? Wenn ja, was wird da anders gemacht als sonst.
Lichter werden im Ortho-Modus genauso genutzt wie im 3D-Modus.Allerdings kannst du die OpenGL-Lichter vergessen, da diese ja per Vertex arbeiten. Und da ein Objekt in einer 2D-Engine meist nur aus einem Quad besteht, wird das Beleuchtungsergebnis eher sehr bescheiden sein.Wenn du dann z.B. ein Spotlight ansprechend aussehend haben willst, musst du eine Objekte stark tesselieren (komisches Wort, obs das im Deutschen wirklich gibt???)
Zitat:
3) Wenn das programm lauft, gehen alle Timer irgendwie nicht mehr, nur noch das wo ich rendere (WMpaint). Wie kann ich ein Timer machen das der auch noch geht?
Ich geh mal davon aus, das du eine API-Template für dein Programm benutzt.Da kann ich dir nicht weiterhelfen, in der VCL geht das auf jeden Fall. Allerdings würde ich an deiner Stelle die Finger von Timern lassen.Machs besser mittels eigener Zeitermessung via QueryPerformanceCounter.
Zitat:
4) Wenn ich fullscreen gebrauchen möchte, ist es ok wenn man die form maximized und den borderstyle auf none stellt oder gibt es da eine korrekte Art das in Opengl zu machen?
Eigentlich reicht das, allerdings kannst du dann keine Auflösungen umschalten.Willst du einen exklusiven Vollbildmodus, so musst du ihn mittels ChangeDisplaySettings() setzen.
Zitat:
5) Wenn ein programm schliesst das wie oben beschrieben im full-screen mode ist, dann bleibt im taskbar es immer noch da (Win98). Hat jemand eine Lösung?
Dieses Problem ist AFAIK grafikkartentreiberabhängig und kommt auch bei professionellen Spiel vor.Wie sich das umgehen lässt ist mir bis jetzt ein Rätsel.
Registriert: Mo Feb 24, 2003 14:58 Beiträge: 21 Wohnort: Rödinghausen
Hallo
Zitat:
5) Wenn ein programm schliesst das wie oben beschrieben im full-screen mode ist, dann bleibt im taskbar es immer noch da (Win98). Hat jemand eine Lösung?
Das ist ein Microsoft-Problem. Du mußt, wenn der User das Programm beenden möchte zuerst minimieren und dannach beenden, dann ist auch die Taskbar davon befreit.
Martin
_________________ Alles was man kann ist ganz leicht
Registriert: Mi Aug 28, 2002 19:27 Beiträge: 568 Wohnort: Chemnitz / Sachsen
ich muss da martin recht geben, das prob hatte ich auch vor kurzem, hab meinen info-lehrer gefragt und der sagte mir das ich das nur durch das minimieren und dann schließen lösen kann.
ist scheinbar ein ganz dummer bug von microsoft (ein ganz dummer???? machen die auch bugs, die nicht so dumm sind??? naja microsoft ..... )
mal als kleine frage, was heißt RTS eigentlich ???? (ja ich weiss ich bin dumm aber was sollst dafür gibt es doch die dgl )
Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.