Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 08:43

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 22 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Mi Mai 16, 2007 17:38 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
oc2k1 hat geschrieben:
One hier jetzt alles zu lesen:

Aktuellen und alten Positionsvektor mit der ModelViewProjection Matrix multiplizieren, beide Vektoren durch ihren W Anteil teilen (Macht sonst die feste Pipeline) und die Differenz berechnen. X und Y des Differzvektors beziehen sich dann auf die Frambuffer koordinaten von -1;-1 nach 1;1 um diesen Vektor in einem postprozessing mit Texturkoordinaten zu verwenden muss er noch mit 0.5 multipliziert werden.

Aktuellen und alten? Ich hab doch nur einen :roll: Und das ist nochdazu nen Richtungsvektor.. *verwirrt guck*


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mai 16, 2007 17:45 
Offline
DGL Member
Benutzeravatar

Registriert: So Jun 04, 2006 12:54
Beiträge: 263
der alte ist der Aktuele - Richtungsvektor :lol:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mai 16, 2007 17:49 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
oc2k1 hat geschrieben:
der alte ist der Aktuele - Richtungsvektor :lol:

*verwirrt schau* und welches is dann der aktuelle? :shock:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mai 16, 2007 17:56 
Offline
DGL Member
Benutzeravatar

Registriert: Di Okt 03, 2006 14:07
Beiträge: 1277
Wohnort: Wien
Er meint ganz offensichtlich, dass Du, um den Verwischungseffekt zu erzielen, das Objekt bewegen musst.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mai 16, 2007 17:56 
Offline
DGL Member
Benutzeravatar

Registriert: So Jun 04, 2006 12:54
Beiträge: 263
na schön einmal in glsl:

Code:
  1.  
  2. attribute vec4 speed; // x,y,z,0
  3. varying vec2 motion;
  4.  
  5. void main(void){
  6.     gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
  7.     vec4 oldPos = gl_ModelViewProjectionMatrix * (gl_Vertex - speed);
  8.     motion = 0.5 * (gl_Vertex.xy / gl_Vertex.w - oldPos.xy / oldPos.w);
  9.     }
  10.  


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mai 16, 2007 18:11 
Offline
DGL Member
Benutzeravatar

Registriert: Di Okt 03, 2006 14:07
Beiträge: 1277
Wohnort: Wien
Zitat:
Aktuellen und alten Positionsvektor mit der ModelViewProjection Matrix multiplizieren, beide Vektoren durch ihren W Anteil teilen (Macht sonst die feste Pipeline) und die Differenz berechnen. X und Y des Differzvektors beziehen sich dann auf die Frambuffer koordinaten von -1;-1 nach 1;1 um diesen Vektor in einem postprozessing mit Texturkoordinaten zu verwenden muss er noch mit 0.5 multipliziert werden.


Zitat:
Aktueller und alter Positionsvektor
= Vektor vor und nach der Verschiebung des Objekts

Zitat:
beide Vektoren durch ihren W Anteil teilen

WARUM? ist ohnehin nur 1

==> Differenzvektor errechnen, OK

Zitat:
X und Y des Differzvektors beziehen sich dann auf die Frambuffer koordinaten von -1;-1 nach 1;1

Das kann nicht ganz richtig sein, denn es handelt sich um ein Quad mit der Länge 2, sollte es nicht heißen [-0,5;+0,5]?

Zitat:
um diesen Vektor in einem postprozessing mit Texturkoordinaten zu verwenden muss er noch mit 0.5 multipliziert werden.

Sollte er jetzt nicht um 0,5 VERSCHOBEN werden?

Und schließlich:
Zitat:
Aktuellen und alten Positionsvektor mit der ModelViewProjection Matrix multiplizieren

Genau das brauchen wir aber wir haben es offensichtlich nicht.

Traude.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mai 16, 2007 18:18 
Offline
DGL Member
Benutzeravatar

Registriert: So Jun 04, 2006 12:54
Beiträge: 263
Nach dem multipluizieren mit einer ProjektionsMatrix ist W !=1

Der Framebuffer hat die eckpunkte 1;1 1;-1 -1;-1 -1;1 Von daher muss durch 2 geteilt werden um auf texturkoordinaten zu kommen, da es sich um einen 2d differzvektor handelt, darf kein offset dazu addiert werden.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 22 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 15 Queries | GZIP : On ]