c++ Lektüre zur grafischen Programmierung


  • Mod

    ds kommt drauf an was du mit graphischer programmierung meinst. buttons und andere gui geht mit c# sehr leicht und angenehm. für spiele ist c++ das am besten unterstützte und verbreiteste.



  • Denke dann zieht es mich schon eher zur Spieleprogrammierung. Für GUIs gefällt mir JAVA ganz gut.

    Wann gibts für Spieleprogrammierung für Bücher?


  • Mod

    oben blink als werbung eines ;), der bräunlich orange banner..



  • Souljumper schrieb:

    Denke dann zieht es mich schon eher zur Spieleprogrammierung. Für GUIs gefällt mir JAVA ganz gut.

    Wann gibts für Spieleprogrammierung für Bücher?

    Spiele programmierung und graphik programmierung sind zwei paar sachen, das eines nutzt nur ziemlich viel des anderen.

    Wenns um graphik geht solltest du dich erstmal informieren, was es gibt an framework oder techniken. (bevor du geld fuer buecher uber einwas ausgibst, ich bin der meinung man braucht da uebehaupt keine kaufen, ein gutes c/c++ buch is wichtig, den petzold hatte ich auch zeitweise recht haeufig in der hand, ist aber fuer spiele nicht so wichtig)

    Zum beispiel die noch nie gefuehrte diskussion ob OpenGL oder Direct3d als teil directx, waere da mal am anfang. Dann direct in die apis rein oder ne framework nehmen?.

    Schaum zu opengl.org dort gibst das redbook umsonst (neben anderen dokus), da sind auch ein steuck 3d grundlagen mit drin, und fuer ogl gibst die nehe.gamedev.net tutorials, als clasiker und auch in deutscher uebersetztung.

    Fuer dx zeugs (braucht man fuer spiele entwicklung mit windows eigentlich schon, auch wenn man ogl nimmt, wegen direct input und direct sound) gibst die sdk bei mircosoft zum download, die ist gut mit tutorials und dokus vollgestopft.

    Aber egal wie und was du machts, wenn du unter windoof bleibst und spiele/grafick 😉 machen willst, musst zumindest basics der basics in Winapi mal anschauen und verstehen, damit du weisst wieso und warum das Windows in dein programm reinpuscht und wie du ueberhaupt mal ein rahmen fuer dein progaemchen bekommst.



  • Flow_cplus schrieb:

    Aber egal wie und was du machts, wenn du unter windoof bleibst und spiele/grafick 😉 machen willst, musst zumindest basics der basics in Winapi mal anschauen und verstehen, damit du weisst wieso und warum das Windows in dein programm reinpuscht und wie du ueberhaupt mal ein rahmen fuer dein progaemchen bekommst.

    du willst ihn unbedingt in den selbstmord treiben, oder?
    Es gibt genau eine Sache für die man zwingend die WinAPI braucht: das erstellen des Fensters. Und alle Erfahrungen haben gezeigt, dass es in 99% der Fälle besser ist, einen der 737913959713 existierenden Codeschnipsel aus dem internet dafür zu kopieren, da unwissenheit in manchen belangen eine wahre tugend ist 😉



  • naja nicht gerade selbstmord ;),

    Ich naja ein bischen basic sollte man schon verstehen, sonst ist man nur am copy&pasten von code und weis gar net was man macht. Und sobald man man etwas mouse oder tastur verarbeiten will braucht ja auch wieder etwas mehr davon.

    Man braucht ja nur ein bischen oberflaeche davon, Message schleife, winprc callback, wie das halt so systematisch ablaeuft - das msg system und vielleicht was ne wndclass ist, so grob, aber ohne das wissen haette ich nicht mit d3d oder ogl anfangen wollen.


  • Mod

    Flow_cplus schrieb:

    Ich naja ein bischen basic sollte man schon verstehen, sonst ist man nur am copy&pasten von code und weis gar net was man macht. Und sobald man man etwas mouse oder tastur verarbeiten will braucht ja auch wieder etwas mehr davon.

    nicht zwingend, gibt ja auch DirectInput bzw das schöne xbox360-gamepad-interface



  • stimmt, aber auch dazu muss man ein paar hwnds oder hinstances durch die gegend schieben, aber da hast du recht.

    Aber ich hab auch nicht gleich mit direct input angefangen, ich hielt das WM_.. systems anfangs fuer einfacher, in direct input einlesen geht auch nicht von heute auf morgen, wenn man von vorne anfangt.

    Und gerade wenn man die erste polygone rendered und man richtig motiviert ist, ist schon toll wenn mit einfachen mouse und tastur ereignissen rumspielen kann.



  • Also ich find auch, dass es nicht reicht, nur 'irgendwie' nen Fenster zum laufen zu bringen.

    Gerade in der Spieleentwicklung.
    Selbst wenn man eine komplett eigene GUI dafür schreiben möchte, es gibt viele Aspekte, wie z.B. das Setup oder die Installation, die dem Betriebssystem angemessen gestaltet werden sollten. Von Optimierungen fürs System mal ganz zu schweigen.

    Nicht, dass man beides nicht parallel lernen kann, eine Ausseinandersetzung mit der API der Zielplattform gehört meiner Meinung nach aber einfach zu den Grundlagen für Multimediazeugs.



  • Gerade in der Spieleentwicklung.
    Selbst wenn man eine komplett eigene GUI dafür schreiben möchte, es gibt viele Aspekte, wie z.B. das Setup oder die Installation, die dem Betriebssystem angemessen gestaltet werden sollten. Von Optimierungen fürs System mal ganz zu schweigen.

    reicht nicht in 99,999% aller Fälle ein einfaches Kopieren der daten aus?
    Aber mal davon ab: wenn ich nen tollen installationsassistenten brauche, dann such ich mir irgendwen, der diese Schmerzen freiwillig auf sich nimmt. mit dem Spiel selbst hat man ja genug zutun.

    Der nächste punkt ist, dass der normalsterbliche schon voll ausgelastet ist DirectX zu lernen, da ist in diesem Leben kein Platz mehr für WinAPI.
    Und da mit standard C++ in verbindung mit DirectX auch ohne WinAPI sogut wie alles Möglich ist, ohne großartig Performance zu verlieren seh ich da jetzt nicht so das Problem.

    Und zu guter letzt: die WinAPI ist so häßlich, dass ich jeden Geschwindigkeitsvorteil dadurch verspiele, da ich durch meinen Eigenen Code nicht mehr durchblicke 😉



  • otze schrieb:

    Gerade in der Spieleentwicklung.
    Selbst wenn man eine komplett eigene GUI dafür schreiben möchte, es gibt viele Aspekte, wie z.B. das Setup oder die Installation, die dem Betriebssystem angemessen gestaltet werden sollten. Von Optimierungen fürs System mal ganz zu schweigen.

    reicht nicht in 99,999% aller Fälle ein einfaches Kopieren der daten aus?
    Aber mal davon ab: wenn ich nen tollen installationsassistenten brauche, dann such ich mir irgendwen, der diese Schmerzen freiwillig auf sich nimmt. mit dem Spiel selbst hat man ja genug zutun.

    Der nächste punkt ist, dass der normalsterbliche schon voll ausgelastet ist DirectX zu lernen, da ist in diesem Leben kein Platz mehr für WinAPI.
    Und da mit standard C++ in verbindung mit DirectX auch ohne WinAPI sogut wie alles Möglich ist, ohne großartig Performance zu verlieren seh ich da jetzt nicht so das Problem.

    Und zu guter letzt: die WinAPI ist so häßlich, dass ich jeden Geschwindigkeitsvorteil dadurch verspiele, da ich durch meinen Eigenen Code nicht mehr durchblicke 😉

    👍
    /signed


  • Mod

    otze schrieb:

    ohne großartig Performance zu verlieren seh ich da jetzt nicht so das Problem.

    woher weißt du das, wenn du winapi nicht kennst bzw gelernt hast?



  • rapso schrieb:

    otze schrieb:

    ohne großartig Performance zu verlieren seh ich da jetzt nicht so das Problem.

    woher weißt du das, wenn du winapi nicht kennst bzw gelernt hast?

    ich hab die WinAPI gelernt ;). Zumindest die wichtigsten sachen.


  • Mod

    otze schrieb:

    rapso schrieb:

    otze schrieb:

    ohne großartig Performance zu verlieren seh ich da jetzt nicht so das Problem.

    woher weißt du das, wenn du winapi nicht kennst bzw gelernt hast?

    ich hab die WinAPI gelernt ;). Zumindest die wichtigsten sachen.

    dann wüstest du dass man durch systemnahe dinge enorm performance gewinnen kann (das trifft auch auf andere OS zu), unter windows eben mit winapi.



  • otze schrieb:

    Und zu guter letzt: die WinAPI ist so häßlich, dass ich jeden Geschwindigkeitsvorteil dadurch verspiele, da ich durch meinen Eigenen Code nicht mehr durchblicke 😉

    Was soll denn an WinAPI hässlich sein?!? 🤡


Anmelden zum Antworten