Main Page   Modules   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages  

AccumEffect Class Reference

AccumEffekt benutzt den AccumulationBuffer der OpenGL für Effekte auf Filmsequenzen. More...

#include <AccumEffect.h>

Inheritance diagram for AccumEffect::

GLEffect List of all members.

Public Methods

Creation, desctruction
Rendering, animation and effect control functions
Creates control widgets that will manipulate effect parameters & behaviour.

Protected Methods

Protected Attributes

Private Slots

Slots:

Detailed Description


Constructor & Destructor Documentation

AccumEffect::AccumEffect ( GLFramework * parent )
 

Parameters:
parent   Pointer to the parent window.

Es werden folgende effectInfo Einstellungen gemacht:

Es wird eine Bildliste benötigt (die Filmsequenz), needNewTextures = true, needRawTextures = false

See also:
GLEffect::GLEffect(), effectInfo

AccumEffect::~AccumEffect ( ) [virtual]
 

Setzt GL_TEXTURE_2D und GL_DEPTH_TEST zurück. Lösche die Instanz der AccumEffectPanel Klasse.

See also:
GLEffect::~GLEffect() , AccumEffectPanel::~AccumEffectPanel()


Member Function Documentation

void AccumEffect::createControls ( QWidget * parentWindow ) [virtual]
 

Erzeugt eine neues AccumEffectPanel Objekt. Das neue AccumEffectPanel-Objekt übergibt einen Zeiger auf sein Panel an controlPanel. Der effectTimer word initialisiert und connected.

See also:
GLEffect::createControlPanel() , AccumEffectPanel::getPanel()

Reimplemented from GLEffect.

void AccumEffect::stop ( ) [virtual]
 

Stoppt die Animation und setzt Acc_curImg=0 (also wieder auf das erste Bild zurück)

Reimplemented from GLEffect.

void AccumEffect::play ( ) [virtual]
 

Startet die Animation (mit 50ms Bildverzögerung)

Reimplemented from GLEffect.

void AccumEffect::reset ( ) [virtual]
 

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.

void AccumEffect::pause ( ) [virtual]
 

Pausiert die Animation.

Reimplemented from GLEffect.

void AccumEffect::render ( ) [virtual]
 

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.

void AccumEffect::animate ( ) [private, slot]
 

Steuert die Filmsequenz. Wird vom effectTimer Object aufgerufen (alle 50ms) Wenn die Sequenz zu Ende ist, fängt sie wieder vorne an.

void AccumEffect::initialize ( ) [protected, virtual]
 

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

See also:
GLEffect::init()

Reimplemented from GLEffect.


The documentation for this class was generated from the following files:
Generated at Fri Apr 19 16:53:06 2002 for GLFramework by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001