Ergebnis 1 bis 9 von 9

Thema: 2D Grafikprogrammierung auf Mac

  1. #1

    Users Awaiting Email Confirmation

    2D Grafikprogrammierung auf Mac

    Hallo,

    ich bin nicht besonders gut in C++, aber auch kein Anfänger mehr, deshalb würde ich mich gern weiterbilden... und zwar am liebsten in Grafikprogrammierung, spezieller 2D Grafik.

    Also mal angefangen bei Bildern anzeigen, über vielleicht ein Malprogramm a lá Paint und irgendwann vielleicht auch mal ein Vektorgrafikprogramm...

    Es wär gut, wenn ich das alles auf meinem Mac mit OS X machen könnte - hat jemand Ideen, welche Grafiklib geeignet wäre? Also relativ einfach zu bedienen, gut dokumentiert mit Tutorials und Hilfen und vielleicht ein nettes Forum mit kompetenten Leuten (sowas wie hier das)? Natürlich Mac kompatibel...

    Hab in den Tutorials nichts gefunden, in Google auch nicht... Ich bin mir nicht sicher, ob das Maceigene Quartz das richtige für mich ist, denn eine deutsche Anleitung habe ich nirgend gesehen...

    Gruß, Micha

  2. #2
    Also zuerst würde ich dir raten, wenn du für OSX entwickeln willst, objective-C (objC) zu lernen und das anstatt C++ zu verwenden. Das hat den Grund, daß cocoa das Haupt-Framework von OSX in objC geschrieben ist und nur in objC angesprochen werden kann (zumindest ohne Zusatz-Libs, es gibt zwar auch cocoa für Java, aber das wird glaube ich in Zukunft nicht mehr unterstützt).
    Unter C++ gibt es noch das alte Framework Carbon, was aber der Vergangenheit angehört und irgendwann wohl aus OSX verschwinden wird.

    Du kannst einerseits auf bekannte portable 2D-Libaries zugreifen, wie SDL (www.libsdl.com) oder auch Allegro (www.allegro.cc) wobei letzteres erst wirklich nützlich wird wenn man damit ein Spiel schreiben will.

    Ansonsten, wenn es dir um reine OSX-Anwendungen geht kannst du direkt auf OSX-eigene API zugreifen, das ist Quartz2D für 2D-Sachen und OpenGL für 3D. Hilfe dazu findest du auf der Apple-Seite:
    Graphics & Imaging Reference
    Eventuell musst du dich als Entwickler registrieren, aber die Online-Mitgliedschaft ist kostenlos und nur zu empfehlen.

    Deutsche Anleitung ist mir auch nicht bekannt, aber wer programmieren will sollte das Englisch nicht scheuen. Als Forum ist vielleicht www.macuser.de zu nennen, die zentrale Sammelstelle für alle deutschsprachigen Mac-User. Es gibt dort auch ein Unterforum für Programmierung und einige sehr kompetente Benutzer.

  3. #3
    Alergo ist doch schon veraltet. :P


    Fuer 2D ist SDL eigentlich das beste was du finden wirst. Etwas anderes anzuschauen waere wohl eher ein Schuss ins Knie, als eine gute Idee. Besonderst fuer Anfaenger gibt es hier auch viele deutsche Beschreibungen, insofern man es noetig hat. SChau mal unter Wiki-Books; dort gibt es glaube ich sogar im passenden Shelter eine Lektuere.



    Aber, so generell: ObjC verliert. :P

  4. #4
    Zitat Zitat von Mog Beitrag anzeigen
    Aber, so generell: ObjC verliert. :P
    Aber, so generell: Troll-Postings verlieren. :p
    So eine verurteilende Aussage bedarf sicherlich einiger Begründungen, wenn es nicht als pure Provokation verstanden werden soll. Andernfalls sollte es zumindest als subjektive Meinung gekennzeichnet werden.

    freundliche Grüße, Rolus

  5. #5
    Dito mit Rolus.
    Davon abgesehen reden wir hier von Programmierung unter OSX. Wenn man zu C++ und Carbon greift, benutzt man ein veraltetes Framework, was nicht mehr weiterentwickelt und offiziell auch irgendwann nicht mehr unterstützt wird. Sicherlich nicht die beste Wahl wenn man Programme schreiben will die auch in einigen Jahren noch benutzt werden sollen.
    Java ist nunmal Java und sieht nicht unbedingt nativ aus ist also auch nur bedingt zweite Wahl (es sei denn man will unbedingt portable schreiben).
    Was bleibt übrig? In reinem C mit Zugriff auf Toolkits wie wxWidgets schreiben? Ist deutlich aufwendiger als das Benutzen des Interface Builders und cocoa.

    Cocoa und damit auch zwangsweise objC ist unter OSX nunmal die erste Wahl wenn man GUI-Programme schreiben will, unabhängig davon was man von der Sprache an sich hält.

  6. #6
    [topic]
    Ich wuerde sagen, guck dir SDL und Allegro an und dann entscheide dich fuer eins von beiden. Ich bastle momentan mit SDL an einem Projekt, urspruenglich wollten wir das mit Allegro machen, aber das hatte diverse Nachteile (z.B. hat SDL die fuer unsere Zwecke besseren Libs (kennt jemand 'ne vernuenftige Font-Library fuer Allegro?)). Und irgendwie kommt mir SDL allgemein moderner vor.

    [OT Obj C]
    Ich denke, man koennte auch eine Scriptsprache, fuer die Cocoa-Bindings existieren (z.B. Python oder Ruby), benutzen. Ich z.B. wuerde denke ich auch nicht mit Obj C arbeiten, wenn ich fuer Mac programmieren wuerde, sondern den Kram mit Python machen.
    Okay, ich weiss nicht, wie gut andere Sprachen in XCode integriert sind, aber die meisten Interface-Builder, die ich kenne, koennen entweder Code fuer mehrere Sprachen oder irgendein sprachunabhaengiges Datenformat (z.B. hat Glade ein XML-Format) speichern.

    Und ich glaube, Mog ist auch der Meinung, dass C++ verliert

    Geändert von Lukas (06.11.2006 um 14:48 Uhr)

  7. #7
    Zitat Zitat von mq Beitrag anzeigen
    Ich denke, man koennte auch eine Scriptsprache, fuer die Cocoa-Bindings existieren (z.B. Python oder Ruby), benutzen. Ich z.B. wuerde denke ich auch nicht mit Obj C arbeiten, wenn ich fuer Mac programmieren wuerde, sondern den Kram mit Python machen.
    So wuerde ich es auch machen. ObjC hat leider diese SmalTalk-Syntax uebernommen, die einfach nur grausig viel Schreibarbeit bedeutet. Das OO-Konzept ist auch sehr unangenehm impelemtiert. Das Arbeiten und Lesen des Codes ist einfach aufwaendiger, als bei anderen Sprachen. Ueber das Parsen reden wir garnicht; da ist ja schon C schlimm. Aber, das ist einfach nur perversion, wenn man es in einen Baum umwandeln moechte.

    Und Informatikforen sind fuer Trolle wie geschafen. Hier herumzutrollen erweckt das Trollherz im Mog. :P


    Zitat Zitat von mq Beitrag anzeigen
    Und ich glaube, Mog ist auch der Meinung, dass C++ verliert
    Hm?^^ Ich finde C gewinnt in meinem Bereich ziemlich gewaltig, und C++ hat einen schrecklichen Overhead. (Ich habe 128MB Raum a)



    Generell verlieren (Achtung, das ist eine subjektive Meinung, die millionen Menschen teilen\Rolus. ) alle Programme, die nicht portabel sind. Es gibt zz. drei Betriebssysteme, die man unterstuetzen sollte. Folglich ist sowieso eher zu waehlen, dass ueber Cocoa liegt.

    Geändert von Mog (06.11.2006 um 17:05 Uhr)

  8. #8
    Zitat Zitat von Mog Beitrag anzeigen
    Hm?^^ Ich finde C gewinnt in meinem Bereich ziemlich gewaltig, und C++ hat einen schrecklichen Overhead. (Ich habe 128MB Raum a)
    Jap, das hattest du schon mal gepostet, und das meinte ich mit meinem Kommentar auch (ich bin btw der selben Meinung ^^). Aber laeufst du ernsthaft mit 128 MB RAM rum?

    Ansonsten dito, die Syntax von Obj C mag ich auch nicht (das ist der Hauptgrund dafuer, dass ich mir Smalltalk nie angeguckt habe). Mal abgesehen davon will ich erstmal keine weiteren Sprachen lernen, Python und C sind eigentlich ganz brauchbar. Und wenn man nicht fuer OS X programmiert, kann man mit Obj C nicht wirklich viel anfangen.

  9. #9
    Zitat Zitat von mq Beitrag anzeigen
    Jap, das hattest du schon mal gepostet, und das meinte ich mit meinem Kommentar auch (ich bin btw der selben Meinung ^^). Aber laeufst du ernsthaft mit 128 MB RAM rum?

    Ansonsten dito, die Syntax von Obj C mag ich auch nicht (das ist der Hauptgrund dafuer, dass ich mir Smalltalk nie angeguckt habe). Mal abgesehen davon will ich erstmal keine weiteren Sprachen lernen, Python und C sind eigentlich ganz brauchbar. Und wenn man nicht fuer OS X programmiert, kann man mit Obj C nicht wirklich viel anfangen.

    Braucht man eigentlich mehr RAM?

    Schau dir aber vllt. Cpp trotzdem noch an. Templates sind schon sehr sexy, wenn man inetwa Ahnung hat, wie sie uebersetzt werden. (Da muss man sehr gut darauf achtgeben, wie man die in den Quellcodes verteilt. Zumindest, insofern man so viele perversionen beim Programmieren besitzt, wie ich. ^^d
    Naja, in erster Linie resultieren aus den Templates ja noch die intelligenten Pointer. Muss man einfach lieben. Muss man. Oder, man hasst sie.)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •