#include <AccumEffect.h>
Inheritance diagram for AccumEffect::
|
Es wird eine Bildliste benötigt (die Filmsequenz), needNewTextures = true, needRawTextures = false
|
|
Setzt GL_TEXTURE_2D und GL_DEPTH_TEST zurück. Lösche die Instanz der AccumEffectPanel Klasse.
|
|
Erzeugt eine neues AccumEffectPanel Objekt. Das neue AccumEffectPanel-Objekt übergibt einen Zeiger auf sein Panel an controlPanel. Der effectTimer word initialisiert und connected.
Reimplemented from GLEffect. |
|
Stoppt die Animation und setzt Acc_curImg=0 (also wieder auf das erste Bild zurück) Reimplemented from GLEffect. |
|
Startet die Animation (mit 50ms Bildverzögerung) Reimplemented from GLEffect. |
|
Setzt die Effektparameter zurück. Setzt Acc_curImg=0 (also wieder auf das erste Bild zurück) Setzt Acc_lstLen auf die Anzahl der Bilder der Sequenz. Reimplemented from GLEffect. |
|
Pausiert die Animation. Reimplemented from GLEffect. |
|
Rendert den Effekt abhängig von der Effektauswahl welche AccumEffectPanel::getEffektAuswahl() liefert. getEffektAuswahl() liefert 0 Kein Effekt, die Sequenz wird normal abgespielt getEffektAuswahl() liefert 1 Motion Blur, Bewegungsschlieren. Neues Bild=Altes Bild * fak + Neues Bild * (1 - Fak). Die Stärke Fak dieses Effekts liefert AccumEffectPanel::getBlurFaktor() Zum Schluss wird noch das Ergebniss noch mit einer Gammakorrektur multipliziert. Den Wert dazu liefert die Funktion AccumEffectPanel::getGammaKorrektur(). getEffektAuswahl() liefert 2 Bildsubtraktion. B# bedeutet Bild# (also B1 heißt Bild1) Neues Bild = y1(x1*B1 op1 x2*B2) + y2(x3*B3 op2 x4*B4) + y3(x5*B5 op3 x6*B6) Die Rechenoperation op1,op2 und op3 (+ oder -) liefern die Funktionen AccumEffectPanel::getOp1(),getOp2() und getOp3() Welche Bilder jeweils accumuliert werden sollen (B1-B6) liefern die Funktionen AccumEffectPanel::getBildAuswahl11(),getBildAuswahl12(), getBildAuswahl21(),getBildAuswahl32(), getBildAuswahl31(),getBildAuswahl32(), Die Intensität der einzelenen Bilder (x1-x6) liefern die Funktionen AccumEffectPanel::getAnteilBild11(),getAnteilBild12(), getAnteilBild21(),getAnteilBild22(), getAnteilBild31(),getAnteilBild32(), Die Helligkeitsanteile der einzelenen Paare (y1-y3) liefern die Funktionen AccumEffectPanel::getHellAnteil1(),getHellAnteil2(),getHellAnteil3() Zum Schluss wird noch das Ergebniss noch mit einer Gammakorrektur multipliziert. Den Wert dazu liefert die Funktion AccumEffectPanel::getGammaKorrektur() Reimplemented from GLEffect. |
|
Steuert die Filmsequenz. Wird vom effectTimer Object aufgerufen (alle 50ms) Wenn die Sequenz zu Ende ist, fängt sie wieder vorne an. |
|
Setzt die Parameter zur korrekten Dastellung des OpenGL-Kontextes. Setzt Acc_curImg=0. Acc_curImg ist das aktuelle Bild der Sequenz. Setzt Acc_lstLen auf die Anzahl der Bilder der Sequenz. Acc_lstLen ist die Listen Länge
Reimplemented from GLEffect. |