erklärung von engine?



  • Hi,
    ich habe da mal eine (wahrscheinlich ziemlich blöde) Frage:
    Was genau ist eine Engine?
    So wie ich das verstanden habe, ist es "nur" eine Sammlung von Funktionen/Klassen/usw die z.B. etwas auf den Bildschirm malen, wobei sie auf z.B. OpenGL oder DirectX zugreifen.
    Stimmt das?
    Danke für die Hilfe im voraus!



  • Eine Engine ist das sicher nicht. Das ist ein Wrapper. Dieser kappselt DX oder OGL Funktionen, und vereinfacht ihre Anwendung.

    Unter einer Engine verstehe ich eine Maschine. Diese sollte routine Aufgaben übernehmen und sich um das kümmern was immer wieder kommt. Und den Programmierer dadurch die Arbeit erleichtern.

    Eine Engine ist auch sowas in dem man sein Level reinzeichnet auf start drückt und du kannst schon durch dein neu erstelltes Level laufen. Kollision funktioniert ect.

    Sowas würde ich eine Engine nennen.



  • also in prinzip eine sammlung von funktionen die immer wieder vorkommen wie z.b. (achtung: stark vereinfacht!) bei nem matheprogramm so ne art "int +()"? (ich weiß das der code falsch is 😉 )
    meinst du das damit?



  • Ich gebe dir ein Beispiel aus einem Projekt von mir.

    Das ganze war eine 2D "Engine".

    Diese bestand aus zwei Teilen.

    ------ENGINE---------------DEINE ANWENDUNG---------
          Engine läuft          hier schreibst du 
                                deinen Code
    

    Die Engine ist ein selbständiges Programm. Es überwacht deine Anwendung. Es ist zuständig für Windows, Speicher reservierung und Freigabe. Sowie das Aufräumen bei Programmende.

    Du schreibst dein Programm ohne dir Gedanken zu machen darüber was zu tun ist für Windows oder DirectX. Du sagst praktisch zeichne mir diese Bitmap auf diese Position. Die Engine reserviert Speicher. Trägt das Objekt in eine List ein. Sorgt dafür das es geclippt wird. Überwacht die Kollision.
    Beendest du das Programm geht die Engine die List durch. Gibt den Speicher wieder frei. Beenden DirectX sauber.
    Das einzige was du gemacht hat sind fünf Zeilen Code.

    Das ist nur eine primitive Engine. Es gibt sehr viel ausgefeiltere. Ich bin auch keine Profi auf diesem Gebiet.



  • Benutz mal die Suchfunktion 🙂


Anmelden zum Antworten