OpenGL für 2D?
-
hi,
ich wollt jetzt unter linux anfangen mit der spieleprogrammierung.
da ich aber kein directdraw verwenden kann und ich kein allegro oder ähnliches verwenden will, hab ich mich gefragt ob ich das alles nicht einfach mit OpenGL machen könnt. aber ich weiß nicht ob man mit OpenGL überhaupt 2D sachen machen kann oder ob das überhaupt einigermaßen dafür geeignet ist..ansonsten kann mir vielleicht jemand sagen welche library's es noch so gibt (in richtung opengl oder so)
danke
mfg
Desire
-
Wenn du 2D programmieren willst, dann nimm SDL http://www.libsdl.org . Das kannst du dann auch in verbindung mit OpenGL verwenden. Um in OpenGL 2D zu programmieren, musst du einfach die Z-Achse weglassen.
Jakob
-
Hi !
Man kann nicht nur mit der SDL 2D Programme schreiben, schau mal in die FAQ für mehr Libraries
In OpenGL kann man so "ohne weiteres" nicht in 2D programmieren. Klar, man kann die Z Achse weglassen, aber damit hast du immer noch kein richtiges 2D wie in SDL oder DirectDraw. Du müsstest wenn schon die sog. orthogonale Projektion aktivieren, aber icfh glaube mit zusätzlichen Libraries kommst du einfacher mit weg
-
Klar kannst Du mit OpenGL auch 2D Sachen machen. Wenn Du mit OpenGL generell klarkommst und nicht Allegro oder sowas benutzen willst, ist OpenGL die richtige Wahl.
-
also, erstmal danke für die schnellen antworten.
mein ziel war es schon mit opengl das ganze zu machen (sdl, allegro & co hatte ich schon ausprobiert) da es mir dann denke ich einfacher fallen würde programme zu schreiben _falls_ ich später mal was mit 3d machen würde...und außerdem kann man z.b. in manchen gui-lib's opengl verwenden...und imho (wenn ich falsch liegen sollte, bitte verbessern) das man mit opengl doch mehr machen kann als mit z.b. allegro...oder sdl (wobei allegro glaub ich noch nen größeren funktionsumfang hat als sdl....)
also, erstmal thx...ich werd mir einfach mal 'n paar tuts reinziehen...
mfg
Desire
-
Ich hoffe mal du liest das noch
Es ist ganz gut Möglich mit OpenGL auch mit nur 2 Dimensionen zu arbeiten, eben indem du Orthogonale Projektion nutzt, und nicht die sonst übliche. Dann musst du nur aufpassen, dass du die einzelnen Objekte die du auf dem Bildschirm haben willst mit dem richtigen Z-Wert ausstattest. Denn wenn ich mich nicht irre, bedeutet glOrtho() nicht, dass der Z-Wert garnicht genutzt wird, sondern nur, dass die Objekte, die weiter weg sind als andere, nicht kleiner werden. Aber sie verdecken sich doch noch gegenseitig.
Korrigiere mich bitte jemand, wenn ich mich irre.
MfG Nero
-
ok, thx
ich geh dann mal eben googlen..vielleicht find ich ja 'n tutor für 2d mit OpenGL *gg*
danke nochmal an alle!
mfg
Desire
-
mach es doch einfach so, dass du ein riesiges Viereck vor die Kamera malst und darauf hantierst du dann mit Texturen rum
Nein, mal im ernst, ich würde lieber die SDL/Allegro für 2D Sachen benutzen.
-
na gut,
nachdem ich so oft gehört hab das sich allegro besser eignet werd ich wohl erstmal wat mit allegro machen *g* (hatte ja schon 'n bissel erfahrung damit...)