Tipps / Ratschläge für Grafikengine



  • Hallo Leute!

    Ich hab schon in den FAQ und bei google gesucht, aber nix gescheites gefunden...

    Ich suche Ratschläge und Tipps für ne Grafikengine. Ich hab vor, erstmal ne 2d Grafikengine zu schreiben und dann irgendwann ne 3D Engine.

    Würde mich über Tipps, Tricks, Links, Code, etc... freun..

    bis dann und danke!





  • hier ein Projekt (sehr frühes Stadium), das OGRE nutzt: http://www.enygmaarts.com/Antilia/screenshots1.php http://badcamelgaming.sourceforge.net (da kommt in den nächsten Tagen noch ein 3d Tetris dazu!)



  • Bei meiner 2D Engine habe ich es so gemacht.

    Es gabe eine Struktur IMG (Image). Diese Speicherte den Ort für die Bitmapinfo, aktuelle Position, die Größe.

    Hatte man ein Solches Objekt erstellt.

    etwa so:

    LPIMG img;

    konnte man ein Bitmap reinladen mit LoadImage(&img,dateiname....);

    Zum Zeichnen DrawImage(x,y,img);

    Kollision funktionierte so if(collision(img1,img2));

    Daneben gab es Funktionen zum fadein und fadout, color, print(x,y,text)

    und vieles mehr.

    Z.B Soundfunktionen. Ein Beispiel:

    loadsound("test.wav",&sound);
    
        while(1)
        {
          statkey();
          if(ESC)return 0;
    
          if(KEY_1) play(sound,0,0,true); //Sound in einer Schleife abspielen
          if(KEY_2) stop(sound,false); //Zeiger lassen wo es ist
          if(KEY_3) play(sound,0,0,false); //false=kein loop
          if(KEY_4) stop(sound,true); //true setzt zeiger wieder an Anfang
        }
    
    Die Funktion statkey() aktualisiert den Tastaturbuffer. Eine Tastatur fragt man, wie du im Code sehen kannst so ab. 
    
    if(KEY_???) dann mache dies oder das
    

    AUf jedenfall gehört eine gute Planung dazu. 2D ist einfacher. Jedoch ein guter Einstieg für eine 3D Engine.

    Ach noch was. Vom aktuellen Code immer eine Sicherheitskopie mache. Ich habe meinen gelöscht. 😞 Existiert nur noch eine ältere Version.




Anmelden zum Antworten