Video

pd-libraries für video:

Gem (Graphics Environment for Multimedia)

primär Grafik (nicht Video), openGL

pdp (Pure Data Packets) & pidip (Pidip Is Definitely In Pieces)

Video

GridFlow":http://gridflow.ca

mehrdimensionale Matrizen

FrameStein":http://framestein.org

nicht mehr aktiv entwickelt

Gem

openGL
hardware beschleunigung bei modernen graphikkarten

alles ist 3d! (auch 2d grafik)

cross-platform (w32, linux, osx, irix,...)

Einheiten

abstrakte, einheitenlose Beschreibung einer Szene

virtuelle "Kamera" nimmt Szene auf: Größeneinheiten (km, m, cm,...) ergeben sich aus "zoom-faktor" und kamera-position

Objekte

im Allgemeinen sind erster !inletUndoutlet reserviert für "gem-message" (selector "gem_state" und zeiger auf interne strukturen; nicht direkt modifizierbar; begrenzt wiederverwendbar!)

Top-Down (im Gegensatz zu Pd!)
je tiefer im Graphen, desto mehr Details

wie in anderen 3d-modellern: hierarchische beschreibung einer szene (z.b. hand)

analogie: nimm papier und stift; bewege stift 3cm nach links-oben; zeichne quadrat (wie logo)

(in pd: "mache zahlenstrom in sinusform; multipliziere zahlen mit 0.4; gib zahlen über soundkarte wieder")

eigtl. wird lokales koordinatensystem transformiert: "gehe 3 schritte gerade aus; drehe dich um 45° nach links" ist nicht dasselbe wie "drehe dich um 45° nach links; gehe 3 schritte gerade aus"

Pixes
pixel data (bilder, videos)

klassisches pd-Konzept: Quelle, Manipulatoren, Senke

wenn möglich, Manipulationen immer in der openGL-domain durchführen (nicht über [pix_... objekte): rechenintensive operationen auf graphikkarte (hardware-beschleunigung) auslagern

Schnittstellen zu anderen Formaten --

!pixsig2pixpixpix2sig
pixessignal
!pixpix2pdp
Gempdp
!importpixexportpix
Pixes!GridFlow
Tracking
Metadaten aus Pixeln gewinnen: color-tracking, motion-tracking --> blob-tracking

Übung:

Modell des Sonnensystems (Sonne, Planeten, Monde...)