3D Engine Programmierung



  • Hallo,

    ich würde sehr gerne eine Art Game Engine programmieren, um damit 3D-Grafiken zu erstellen, die sich bei Änderung des Sichtwinkels korrekt verschieben. Also ein Programm das Vektorberechnungen enthält (Sry, ich weiß nicht wie ich das besser ausdrücken soll)
    Jetzt könnte man natürlich einfach eine fertige Engine wie Unity oder Unreal nehmen, das wäre mir aber ehrlich gesagt einfach zu schlecht. Da kratzt man ja nur ein bisschen an der Oberfläche...
    Ich habe kaum Ahnung wie eine Engine aufgebaut ist, wie kann ich in C oder C++ am besten eine grundlegende Engine programmieren, am besten die API ala Direct X oder Open GL gleich mit. Ich will alles selbst machen, was man alleine schaffen kann.
    Danke für hilfreiche Antworten.

    Zu meiner Person: 4 Monate Programmiererfahrungen hauptsächlich im Bereich der Mikrocontrollerprogrammierung (in C natürlich)



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (alle ISO-Standards) in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


  • Mod

    Wenn du alles von 0 auf selber machen möchtest, dann guck dir die API eines Rendering-Frameworks (z.B. OpenGL) und programmier diese nach. Das wird dann natürlich ein Software-Renderer. Generell würde ich sagen, dass du den Lehreffekt dieses Vorhabens gewaltig überschätzt; du würdest vor allem viel Nutzloses lernen. Du wärst vermutlich besser beraten, auf OpenGl (oder Vulkan) oder DirectX aufzusetzen. Wie eine 3D-Szene aufgebaut und berechnet wird, lernst du da auch. Aber du musst nicht langweilige Matrixmultiplikationen programmieren.



  • ich würde empfehlen, auf OpenGL aufzubauen. Das ist low level genug, dass du noch genug lernst. Du musst die Kamera einstellen, musst die Transformationsmatrizen für die Objekte berechnen, musst die Beleuchtung in den Shadern berechnen, und vieles mehr.
    Es ist gerade für Anfänger schwer genug überhaupt mal ein Dreieck mit OpenGL zu zeichnen, weil es viele Stellen gibt, an denen man was falsch machen kann.
    Da du auch beim Programmieren recht neu bist, wirst du auch dort genug Probleme haben.
    Nimm dir ein gutes Buch zu OpenGL (OpenGL Superbible, findet man über Google auch als PDF) und arbeite es durch*. Du musst dir Zeit nehmen, du wirst bei weitem nicht so schnell Erfolge haben als wenn du eine Website zusammenklickst.

    * es gibt ein "altes" und das moderne OpenGL, beide existieren nebeneinander. Es gibt leider noch viele Quellen im Internet, wo altes OpenGL gezeigt wird. Als Anfänger solltest du drauf achten, gleich das neue (3.3+) zu verwenden. Daher die Buchempfehlung, da dort darauf geachtet wurde, nur 3.3+ zu verwenden.


Anmelden zum Antworten