Plattformunabhängigkeit
-
Hallo,
bin gerade dabei und deshalb die Frage:
Wie programmiert ihr plattformunabhängige Eingabe, Fenster erstellen usw.,
Alles selber oder mit SDL und Ähnlichem?
-
da schreibt man sich einmal wrapper und das wars dann. ich hab eine InitScreen(int Widht,int Height,int Depth) funktion und das reicht zumeist fuer alles.
bei input hab ich nen simplen keyboard/pad wrapper der auf handies, konsolen, pc laeuft.
fuer analog mouse und analogstick von pads, wobei die sich gegenseitig emulieren koennen.
-
Oder du nimmst OpenGL, wenn du dich nicht auf irgendeine einzige Aufgabe beschränken möchtest.
@rapso: Was genau wrappst du da?
-
mikey schrieb:
@rapso: Was genau wrappst du da?
mit initscreen die screen initialisierung und mit dem inputwrapper keyboard/pad und analogeingaben mit mouse/pad-analog-stick.
-
Ja, aber welche Library wrappst du? Oder bastelst du dir das alles selber?
-
die fuer ein system spezifische z.b. winapi. (bzw. ja, selber, das ist aber echt nicht die welt).
-
Das einstellen eine Auflösung ist nicht die Welt. Aber wie zeichnest du dann?
-
hustbaer schrieb:
Das einstellen eine Auflösung ist nicht die Welt. Aber wie zeichnest du dann?
das ist natuerlich aufwendiger, aber ueber das device wurde ja auch nicht gefragt, sondern unput und fenster erstellen.
-
Und wie macht man das dann mit der Hauptschleife?
Unter Windows braucht man ja z.B. PeekMessage drinnen, undter Linux weiß ich nicht wie's abläuft, aber da braucht man ja auch immer plattformabhängige Abfragen.
-
Carmack schrieb:
Und wie macht man das dann mit der Hauptschleife?
Unter Windows braucht man ja z.B. PeekMessage drinnen, undter Linux weiß ich nicht wie's abläuft, aber da braucht man ja auch immer plattformabhängige Abfragen.beim flip des front/backbuffer kann man das abfragen, wobe ich da nur durchlaufe damit das fenster nicht als gefreezt angezeigt wird (und man es vom hintergrund in den vordergrund bekommen kann).
fuer keyboard, maus und pad gibt es immer funktionen die von der hauptschleife unabhaengig den aktuellen status liefern koennen.