Was meinst Du mit "Programmierung"?
Das Eine sind die Effekte an sich: Die Manipulation des Bildspeichers. Das ist vom Konzept her immer gleich, was sich ändert ist nur Auflösung und Farbtiefe.
Das Andere ist die Frage, auf welchem Ausgabegerät, Du den Bildspeicher anzeigst.
Ein GLCD sprichst Du anders an, als eine RGB Matrix und eine MAX7219 Matrix wieder anders.
Du brauchst entweder eine Library, die das für Dich macht (im Sinne von z.B. setze den Pixel(3, 5) auf RGB(255, 0, 0)) oder Du schreibst das selbst. Bei WS2811/12/12B werden dir dabei graue Haare wachsen, weil das Timing der seriellen Datenübertragung kritisch ist - SEHR enges Geschwindigkeitsfenster OHNE Clockline. "Nur" die Daten gemäß dem WS2801 Protokoll im richtigen Takt senden... Kann Dir aber alles egal sein, weil es dafür wie bereits gesagt eine sehr flexible Library gibt. Du musst Dich ausschließlich um den Bildinhalt selbst kümmern und ihn danach mit FastLED.show anzeigen. Fertig.
Ich selbst habe mit dem MAX7219 noch nichts gemacht, alles was ich gesehen habe bestand aber nur LED an oder aus = Du hast erstmal keine Helligkeitsstufen. Ob der schnell genug ist, um damit selbst eine PWM zu schreiben, um wenigstens ein paar Helligkeitsstufen abzubilden, weiß ich nicht. Möglicherweise endet das in Geflacker. Eine Library habe ich Dir weiter oben verlinkt. Probiere das doch mal aus. Danach schauen wir, wieviele fps dem Setup zu entlocken sind und dann reden wir ggf. über PWM, falls nicht jemand eine Lib kennt die das macht - falls es überhaupt geht.
Aber wenn es "gut" und flüssig aussehen soll, führt an RGB mit mindestens 3x8 Bit Farbtiefe bei möglichst vielen frames per second kein Weg vorbei. Ich hoffe, das hilft erstmal.
Gruß
P.S. Ich habe mir gerade das hier bestellt: http://led-stuebchen.de/de/LED-Stripes/WS2812B-RGB-Stripe-LEDs-mit-integriertem-WS2811-controller-144-LED/m?x7806c=4r6jlvif1q9q1d06bupds6g9n0