Spieleprogrammierung in C++
-
Guten Abend,
ich programmiere seit einer Weile aus hobby mit der Sprache C++. Nun möchte ich anfangen ein eigenes 3D Spiel zu entwikeln. Ich habe schon Erfahrung im 2D Bereich mit SFML gemacht. Auf der suche nach einer 3D Engine bin ich auf OpenGL gestoßen, es ist die wohl beste Möglichkeit in die 3D Welt einzusteigen, da ich auf Linux programmiere. Auf der suche nach einen Tutorial bin ich anfangs nur auf ältere Versionen von OpenGl gestoßen. Welche Version sollte ich mir denn am anfang anschauen? Außerdem habe ich mir mal ein kleines 2D Spiel in SDL und OpenGl geschrieben angesehen. Mir ist aufgefallen das hier fast nur in C programmiert wird und das eben in Klassen. Nach meinen Wissen beansprucht ein 3D Spiel sehr viel mehr Leistung als alles andere und C ist schneller, also sollte ich versuchen alles in C zu schreiben? Meine letzte Frage ist wie ich OpenGL am besten lernen kann, ein Buch oder reicht auch ein Tutorial im Internet?
MFG
theexploit
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x und C++11) in das Forum Spiele-/Grafikprogrammierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
theexploit schrieb:
C ist schneller
Nö. Templates ftw! [/flamewarstart]
-
In der Spielebranche dominiert C++. Selbst im embedded Bereich, wo wirklich auf Performance geachtet wird, nimmt man zunehmend C++.
Andererseits lese ich Dinge wie diese hier:While any of the optimizations below may sound trivial, it turns out that saving just one cycle out of a critical loop can make some codec run 10% faster or take 10% less power.
http://blog.llvm.org/2011/05/what-every-c-programmer-should-know.html
Ein Codec ist aber m. A. n. zeitkritischer als ein Spiel.
L. G.
Steffo
-
theexploit schrieb:
OpenGL am besten lernen kann, ein Buch oder reicht auch ein Tutorial im Internet?
Hast du mal hier vorbei geschaut: nehe.gamedev.net
*Ach mist, die Tutorials sind veraltet. -.- (Legacy Tutorials)
Aber vielleicht kannst du da ja trotzdem noch was mit Anfangen.^^Oh, Nehe schreibt:
Damien wrote in to tell us about his OpenGL tutorial website which focuses on OpenGL 3.3. Apparently this site was referenced during SIGGRAPH and in various books. It's definitely worth taking a look! You can find it here ( http://www.opengl-tutorial.org/ ).
-
@theexploit
Die Aussage C sei irgendwie grundlegend magisch schneller als C++, ist alleine schon deshalb Quatsch, weil C++ so ziemlich alle Features von C übernommen hat. Zusätzlich können in C++ aber Funktoren im Gegensatz zu z.B. Funktionspointern geinlined werden und mehr Berechnungen zur Compilezeit stattfinden. Wirklich relevant werden solche Kleinigkeiten für dich aber kaum sein, in Zeiten wo kleinere Spiele auch mal in C# geschrieben werden. Die Wahl fällt also klar auf C++. Die Frage ist nur, ob du wirklich schon ein 3D Spiel bauen willst, wenn dir das nicht mal klar war..
Ansonsten guck dir doch einfach mal den OpenGL FAQ Thread hier an, da sind eigentlich alle Links die ein Anfänger braucht aufgelistet.
-