Hallo,
nächstes kleines Projekt steht an:
Beim Starten des Programms, kann man selber ein Männchen etc. zeichnen, Gelenkpunkte sind vorgegeben. Danach macht das Programm einen Screenshot und legt diesen als Vollbild auf das normale Bild. Dann läuft das selbst gezeichnete Männchen quer über den Bildschirm und verwüstet alles was ihm im Weg steht.
Ich weiß das sowas für einen Anfänger nicht unbedingt leicht, vielleicht auch sehr sein kann/wird, aber ich habe ja Zeit.
Jetzt die Frage: Meint ihr es ist besser wenn ich mit SDL anfange und damit die Figur zeichne, oder ob ich das mit Cairo probieren soll?
Was wären die Vorteile von beiden?
Wo könnte es Probleme geben?
MfG Fuss
GTK+/Cairo vs. SDL
- Xin
- nur zu Besuch hier
- Beiträge: 8861
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: GTK+/Cairo vs. SDL
Wie findest Du heraus, was ihm im Weg steht?+Fuss+ hat geschrieben:nächstes kleines Projekt steht an:
Beim Starten des Programms, kann man selber ein Männchen etc. zeichnen, Gelenkpunkte sind vorgegeben. Danach macht das Programm einen Screenshot und legt diesen als Vollbild auf das normale Bild. Dann läuft das selbst gezeichnete Männchen quer über den Bildschirm und verwüstet alles was ihm im Weg steht.
Möchtest Du das Männchen als Vector oder als 2D Grafik darstellen?+Fuss+ hat geschrieben:Ich weiß das sowas für einen Anfänger nicht unbedingt leicht, vielleicht auch sehr sein kann/wird, aber ich habe ja Zeit.
Jetzt die Frage: Meint ihr es ist besser wenn ich mit SDL anfange und damit die Figur zeichne, oder ob ich das mit Cairo probieren soll?
Für Vectoren wäre in SDL wohl OpenGL gefragt. Cairo ist eine Vektor-Basierte Library.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
- Dirty Oerti
- Beiträge: 2229
- Registriert: Di Jul 08, 2008 5:05 pm
- Wohnort: Thurndorf / Würzburg
Re: GTK+/Cairo vs. SDL
Ist nicht wirklich zum Thema, aber die Idee wollte ich loswerden:Xin hat geschrieben:Wie findest Du heraus, was ihm im Weg steht?
Bildschirmfoto erstellen lassen.
Hintergrundbild/Farbe abfragen lassen.
Bildschirmfoto und Hintergrundbild auf Unterschiede hin vergleichen.
Unterschiedliche Bereiche noch zusammenfassen (Pixelgenaue Kollisionserkennung dürfte blöd werden).
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne!
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
Ich helfe gerne!
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
Re: GTK+/Cairo vs. SDL
Was ist denn der große unterschied zwischen 2D-Grafik und 2 D-Vektor? 3D sollte es nicht werden, weil ich mich mit OpenGL nicht so auskenne. Die Figur soll dann in Teile "zerschnitten" werden, und diese Teile können dann an den zerschnittenen Punkten gegeneinander verdreht werden, so ist die Idee.
Kollisionserkennung brauche ich zuerst nicht. Aber wenn das Männchen dann z.B. gegen den Bildschirmrand tritt, dann kann es ja so aussehen, als ob das Glas des Bildschirms gerissen wäre etc. Aber wegen sollchen Sachen bin ich mir halt nicht so sicher, wie ich das Umsetze das so etwas gezeichnet wird etc.
Weil Zeichnen ist doch mehr die Sache von Cairo und SDL setzt mehr oder weniger nur fertige Bildteile aufeinander? Dann wäre das mit dem Männchen ja eine Sache für SDL und mit den Effekten für Cairo, aber dann hab ich in dem Code nachher ein großes Chaos, wenn ich mich aus ziegtausend verschiedenen Libraries bediene...
MfG Fuss
Kollisionserkennung brauche ich zuerst nicht. Aber wenn das Männchen dann z.B. gegen den Bildschirmrand tritt, dann kann es ja so aussehen, als ob das Glas des Bildschirms gerissen wäre etc. Aber wegen sollchen Sachen bin ich mir halt nicht so sicher, wie ich das Umsetze das so etwas gezeichnet wird etc.
Weil Zeichnen ist doch mehr die Sache von Cairo und SDL setzt mehr oder weniger nur fertige Bildteile aufeinander? Dann wäre das mit dem Männchen ja eine Sache für SDL und mit den Effekten für Cairo, aber dann hab ich in dem Code nachher ein großes Chaos, wenn ich mich aus ziegtausend verschiedenen Libraries bediene...
MfG Fuss
- Xin
- nur zu Besuch hier
- Beiträge: 8861
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: GTK+/Cairo vs. SDL
Vektorgrafik ist nicht mit Farbpunkten (Pixeln) beschrieben, sondern mit Raumpunkten, zwischen denen Linien sind. CAD ist zum Beispiel Vektorgrafik. ]|Another World ist ein 2D-Vektorgame. Das Spiel erschien 1991 auf dem Amiga und hat auch heute noch seinen besonderen Stil. Da das Spiel auf Vektoren basiert, läuft es heute auf auch auf 1600x1200, obwohl die Grafik seinerzeit für 320x200 ausgelegt war.+Fuss+ hat geschrieben:Was ist denn der große unterschied zwischen 2D-Grafik und 2 D-Vektor?
OpenGL sind 2D oder 3D Vektoren. Another World kommt auch ohne OpenGL aus, keine Ahnung, ob es das damals überhaupt schon gab+Fuss+ hat geschrieben:3D sollte es nicht werden, weil ich mich mit OpenGL nicht so auskenne. Die Figur soll dann in Teile "zerschnitten" werden, und diese Teile können dann an den zerschnittenen Punkten gegeneinander verdreht werden, so ist die Idee.
Zeichenroutinen zu schreiben, wie eine Linie zu machen, oder einen Kreis (und das möglichst ohne sinus und cosinus...) ist schon eine hübsche Aufgabe.+Fuss+ hat geschrieben:Weil Zeichnen ist doch mehr die Sache von Cairo und SDL setzt mehr oder weniger nur fertige Bildteile aufeinander? Dann wäre das mit dem Männchen ja eine Sache für SDL und mit den Effekten für Cairo, aber dann hab ich in dem Code nachher ein großes Chaos, wenn ich mich aus ziegtausend verschiedenen Libraries bediene...
Vielleicht schreibe ich mal ein paar Artikel darüber.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: GTK+/Cairo vs. SDL
Unter Cairo ist das ja ganz leicht. Für eine Linie erst den Punkt an dem Cairo anfangen soll auswählen (cairo_move_to) und dann den Zielpunkt festlegen wohin die Linie gehen soll (cairo_line_to). Für Kreise etc. gibt es extra Funktionen.Xin hat geschrieben:Zeichenroutinen zu schreiben, wie eine Linie zu machen, oder einen Kreis (und das möglichst ohne sinus und cosinus...) ist schon eine hübsche Aufgabe.
Vielleicht schreibe ich mal ein paar Artikel darüber.
Ich habe jetzt mal langsam mit meinem Programm angefangen, aber das Problem wird sein, dass es echt aussehen soll, wenn sich das Männchen (9 Linien + ein Kreis) bewegt. Und dann sollte sich das Männchen ja auch nicht immer in die gleiche Richtung bewegen, sondern zufällig. Aber mal schauen wie weit ich komme.
MfG Fuss
- Xin
- nur zu Besuch hier
- Beiträge: 8861
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: GTK+/Cairo vs. SDL
Wenn Cairo von GDK abhängt, dann würde ich mir allerdings tatsächlich SDL ansehen.+Fuss+ hat geschrieben:Unter Cairo ist das ja ganz leicht. Für eine Linie erst den Punkt an dem Cairo anfangen soll auswählen (cairo_move_to) und dann den Zielpunkt festlegen wohin die Linie gehen soll (cairo_line_to). Für Kreise etc. gibt es extra Funktionen.Xin hat geschrieben:Zeichenroutinen zu schreiben, wie eine Linie zu machen, oder einen Kreis (und das möglichst ohne sinus und cosinus...) ist schon eine hübsche Aufgabe.
Vielleicht schreibe ich mal ein paar Artikel darüber.
Ich habe jetzt mal langsam mit meinem Programm angefangen, aber das Problem wird sein, dass es echt aussehen soll, wenn sich das Männchen (9 Linien + ein Kreis) bewegt. Und dann sollte sich das Männchen ja auch nicht immer in die gleiche Richtung bewegen, sondern zufällig. Aber mal schauen wie weit ich komme.
Ich habe seinerzeit GDK-kompatible Bitmaps programmiert, eigene Zeichenroutinen, weil meine Routinen deutlich schneller waren als der Aufruf der GDK-Routinen.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: GTK+/Cairo vs. SDL
Jep hängt in meinem Fall von GDK ab. Ich habe das eben auch gemerkt, es stockt doch ganz oft. Ich sehe mir mal SDL an, wollte ich sowieso schon länger mal machen.Xin hat geschrieben: Wenn Cairo von GDK abhängt, dann würde ich mir allerdings tatsächlich SDL ansehen.
Ich habe seinerzeit GDK-kompatible Bitmaps programmiert, eigene Zeichenroutinen, weil meine Routinen deutlich schneller waren als der Aufruf der GDK-Routinen.
MfG Fuss
Re: GTK+/Cairo vs. SDL
Bresenham-Algorithmus? Der kommt sogar ohne Multiplikation und Division ausXin hat geschrieben: Zeichenroutinen zu schreiben, wie eine Linie zu machen, oder einen Kreis (und das möglichst ohne sinus und cosinus...) ist schon eine hübsche Aufgabe.
Hier zwei interessante Links:
http://de.wikipedia.org/wiki/Bresenham-Algorithmus
http://wwwisg.cs.uni-magdeburg.de/galle ... enham.html
Zum eigentlichen Thema zurück. Ich kenne zwar Cairo nicht, kann aber SDL sehr empfehlen.