Grafiken mit pure c++!



  • Nein, das geht nicht. C++ kennt keine Pixel, keine Grafik, nicht mal die Konsole. std::cin und std::cout sind auch nur Filestreams. Daher musst du in jedem Fall auf eine Bibliothek oder API zugreifen.

    (Und "das geht mit Vektoren" scheint mir doch eine ziemlich vage Aussage für einen Lehrer zu sein, der doch eigentlich wissen sollte wovon er redet.)



  • Naja (er hat zuletzt vor 20 jahren programmiert)^^
    Naja wie wurde dann qt bzw wxwidgets programmiert?

    Ich möchte ein 2d Emulator machen welche Bibliothek würdet ihr mir empfehlen?



  • qt und wxwidgets greifen auf die api des betriebssystems zu. Ich würd mir das aber nicht antun, ich benutze lieber high-level-bibliotheken.

    2d Emulator ist recht ungenau, was verstehst du darunter?



  • Also ich möchte spaeter mein Zimmer also z.B ein viereck gezeichnet haben
    und da drin sind andere kaestchen und in dem viereck bewegt sich ein Punkt.



  • Q schrieb:

    ich benutze lieber high-level-bibliotheken.

    Und welche wären das z.B.?



  • Qt würde auf jedenfall funktionieren. Viel anderes habe ich mit C++ noch nicht benutzt.
    Falls du aufwändige Sachen machen willst und das bild sehr oft pro sekunde aktualisierst (in Richtung spiele) würde sich sfml anbieten wegen hardwarebeschleunigung.

    Edit:

    Gugelmoser schrieb:

    Und welche wären das z.B.?

    Das wäre z.B. Qt. Im Vergleich zu WinApi sehe ich das als eine high-level bibliothek an.


  • Mod

    Was ist ein 2D-Emulator? 😕

    Und welches Betriebssystem? Viele Bibliotheken für Grafik sind leider nicht wirklich portabel.

    Vielleicht solltest du mal im Spiele- und Grafikforum nachgucken, was für einfache 2D-Grafiken ein gutes Framework ist. Insbesondere falls du am Ende mit deinen Kenntnissen Spiele schreiben möchtest (gib's zu, das ist immer wo rauf es hinaus läuft, wenn sich die Leute für Grafik interessieren).



  • Schreit nach SDL.



  • Also...
    Die wichtigste Angaba hab ich ja vergessen das alles mach ich auf
    meinem Linux betriebssystem.



  • In richtung Spiele ich weis nicht die geschwindigkeit ist mir eig. wurst den Emulator benötige ich um meine Algorithmen zu testen.



  • Für solche grafik sachen (Rechteck/Punkt zeichnen/bewegen) würde ich SFML nehmen



  • Naja, die Crux besteht wirklich darin, ne Bibliothek zu finden, die ein Pixelformat bearbeiten/erzeugen kann, ohne dies darstellen zu wollen, also dann irgendwo aufn XServer zeichnen zu wollen ... aka beim installieren die volle grafik desktop umgebung hochzieht.

    Schlechtes Beispiel sind unter Linux zum beispiel diese ganzen perl/php libs, die pngs/Jpeg bearbeiten koennen wollen, dazu eigentlich perfekt von scripten ausm apache (Server) aus aufgerufen werden koennten, aber beim installieren das volle Xorg auf die Platte droeseln wollen (auf nem server, der am web laufen soll ...haha).

    Generell kann man es auch mit plain c/c++ machen, wenn man das fileformat kennt. dann kann man binaer die dateien modifizieren. Iss aber alles naja, sehr low level und damit aufwendig und unmodern 🙂

    Ciao ...



  • Hi,
    ich würde dafür ehrlich gesagt auf Qt zurückgreifen.
    Zum zeichnen kann man wunderbar QPainter verwenden, und man muss damit nicht auf ein Widget zeichnen, man kann auch direkt ein QImage/QPixmap verwenden
    (Achtung, die Namen sind leicht verwirrent, QImage ist für reine Pixeltransformation und QPixmap ist dafür optimiert, das ganze noch zu rendern)
    Zum Glück hat Qt eine sehr gute Doku und bietet viele Beispiele:
    http://doc.trolltech.com/4.7/examples-painting.html

    Bei Qt ist sogar das OS relativ egal. Es ist sehr portabel.

    mfg
    Matogel


Anmelden zum Antworten