Was genau sind eigentlich Shapes?

Es gibt 3 Antworten in diesem Thema, welches 1.714 mal aufgerufen wurde. Der letzte Beitrag (29. Juli 2012 um 19:01) ist von Retroluzzer.

  • Hallo Gemeinde,

    als baldiger Besitzer eines C116 wollte ich mal in die Runde fragen, ob mir jemand genau als nicht-Coder erklären kann, worin der Unterschied zwischen Sprites und Shapes besteht. Ich habe schon beobachtet, dass die Shapes offenbar keinen transparenten Hintergrund haben können und angeblich langsamer als Sprites verarbeitet werden. Aber andererseits wird geschrieben, Shapes seien "flexibler" als Sprites - was ist damit denn gemeint?

    Erleuchtet mich. Danke :)

    C64 - Die einzig wahre PlayStation!
    Bitte melde dich an, um diesen Link zu sehen.

  • Shapes werden per Software umgesetzt und Sprites per Hardware. Da die Hardwareumsetzung 'fest' ist, ist die Software-Umsetzung (Shape) flexibler. Es sind grundsätzlich auch Transparenzen bei Shapes möglich wenn der Programmierer das so programmiert hat.

    Wenn einer, der mit Mühe kaum, geklettert ist auf einen Baum, schon meint, daß er ein Vogel wär, so irrt sich der.

    Wilhelm Busch

  • Afaik sind das einfach so ne Art Softwaresprites, wobei das Flexible daran die Größe ist, sprich aus dem Gesamtbild wird ein nahezu beliebig großer, rechteckiger Bereich irgendwo in den sonstigen Speicher kopiert und bei Bedarf an ner anderen Stelle wieder in das Gesamtbild gekleistert. Das Kopieren muss dabei die CPU machen, wodurch natürlich Rechenzeit für andere Aufgaben flöten geht. Falls Teile einer Shape transparent sein sollen müssen dann auch mit CPU-Hilfe die entsprechenden Pixel aus der Hintergrundgrafik in die Shape kopiert werden, was auch wieder ziemlich rechenintensiv ist.

    Die Abmessungen der Hardwaresprites beim C64 sind dagegen eher unflexibel da von der Videochiphardware fest vorgegeben (*). Dafür wird die Einblendung der Hardwaresprites ins Gesamtbild inklusive der Berücksichtung transparenter Bereiche dann nahezu komplett vom VIC übernommen und kostet die CPU nur sehr wenig Rechenzeit, was angesichts deren geringer Taktrate natürlich von Vorteil ist :)

    Ich hoffe das macht so Sinn?

    (*) ok, man kann die Sprites am C64 zwar auch in doppelter Größe anzeigen, dann sehen sie aber auch doppelt so klobig wie normal aus, weil einfach jedes Pixel 2x angezeigt wird.