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

Aktuelle Zeit: Fr Jul 18, 2025 16:44

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



Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Mi Mär 21, 2007 22:56 
Offline
DGL Member

Registriert: Di Jul 25, 2006 08:31
Beiträge: 5
hi! bin über google auf euer tutorial zu hardware skinning (http://wiki.delphigl.com/index.php/Boneanimation_per_Vertexshader) im wiki gestoßen. besonders interessiert hat mich die kompression der matrizen von 16 auf 8 floats. ums zu testen komprimier ich meine originalmatrix und dekomprimier sie danach wieder. leider klappt bei mir nich so recht, die meshes werden entlang der x-achse verzerrt. ohne kompression funzts einwandfrei:

Code:
  1. ...
  2.  
  3. uniform mat4 u_FinalMatrices[MAX];
  4.  
  5. void main()
  6.     vec4 Vertex = gl_Vertex;
  7.    
  8.     int Id = int( a_JointId );
  9.  
  10.     // compress input matrix
  11.  
  12.     vec4 temp1;
  13.     temp1.x = u_FinalMatrices[Id][0][0];
  14.     temp1.y = u_FinalMatrices[Id][0][1];
  15.     temp1.z = u_FinalMatrices[Id][0][2];
  16.     temp1.w = u_FinalMatrices[Id][1][1];
  17.  
  18.     vec4 temp2;
  19.     temp2.x = u_FinalMatrices[Id][3][0];
  20.     temp2.y = u_FinalMatrices[Id][3][1];
  21.     temp2.z = u_FinalMatrices[Id][3][2];
  22.     temp2.w = u_FinalMatrices[Id][1][2];
  23.  
  24.     // decompress matrix again
  25.  
  26.     mat3 mat;
  27.     mat[0] = temp1.xyz;
  28.     mat[1] = vec3( -temp1.y, temp1.w, temp2.w );
  29.     mat[2] = cross( mat[0].xyz, mat[1].xyz );
  30.    
  31.     //Vertex = u_FinalMatrices[Id]*Vertex; <- using the uncompressed matrix works fine
  32.  
  33.     Vertex = vec4( mat*Vertex.xyz+temp2.xyz, 1.0 ); // <- using the decompressed matrix doesn't
  34.    
  35.     ...


es scheint an mat[1].x, mat[2].y und mat[2].z zu liegen. könnt ihr fehler entdecken? danke!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 30, 2007 15:58 
Offline
DGL Member

Registriert: Di Jul 25, 2006 08:31
Beiträge: 5
*schieb* niemand?


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 8 Gäste


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.007s | 14 Queries | GZIP : On ]