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

Aktuelle Zeit: Di Aug 05, 2025 16:56

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



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Vertex Blending im Vertex Shader
BeitragVerfasst: Mo Jul 17, 2006 11:26 
Offline
DGL Member

Registriert: Do Apr 08, 2004 16:55
Beiträge: 516
Hi,

Gibt es irgendwo ein paar Anständige Beispiele für Vertex Blending im Vertex Shader unter GLSL?
Bisher habe ich trotz Suche nichts gefunden.

Dabei sollte es auch um Bones gehen u.s.w.

mfg

Speedmaster

_________________
Shareholder und Leitender Entwickler bei Pipedream-Games.

Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jul 19, 2006 18:35 
Offline
DGL Member
Benutzeravatar

Registriert: So Jun 04, 2006 12:54
Beiträge: 263
In meinem Kopf...

So ungefähr geht es bei Bones:

Wenn maximal 4 Bones einen einfluuis haben könnnen muss die abhängigkeit mit den attributen übergeben werden: Entweder als texturkoordinaten faken oder besser Als Atribute übergeben.

Die Bonematrizen übergibt man per Uniformvariablen, Wenn man die Matrizen geschickt zusammen packt, dann kommt man mit 8 Float4 vektoren aus und kann bis zu 128 Bones verwenden (OK das ist teorie praktisch sollen 80 möhglich sein)
Im Vertexshader liest mal als erstes aus welcher Bone einfluss auf den aktuellen Vertex hat und ließt anschließen die Gewichtung aus (Besser ist es wenn man den Anteil vor dem Komma für die Bonenummer und den Nachkommateil für die gewichtung benutzt. Das spart Bandbreite...)
Mit hilfe derBonenummer hohl man sich aus den den Uniformvariablen die richtige Matrix und entpackt sie gegebenfalls und tranformiert den Vertex damit. Das ganze mach man für die anderen Bonabhängigkeiten genauso und gewichtet das genze mit hilfe der gewichtung....


Keyframinterpolation ist ein Witz dagegen:

Es wird eine Uniformvariable zwischen 0 und 1 gebraucht, die gewichtung zwischen den Keyframes angibt.
Der erste Satz Vertex und Normalen wird wie gewohnt als VBO übergeben, den zweiten Satz kann man entweder alas 3d Texturkoordinaten tarnen oder als Atribute übergeben. Ganz am anfang muss man nur mit hilfe der Uniformvarable und dem doppelten Vertexdatensatz einen neuen interpolieren und gegebenfall den neuen Normalvektor normalisieren...

Mit suchen wird man auch nicht viel finden. Bei bones könnte man was finden wenn man nach Matrixpaletteskinning sucht. DUmmerweise sind 99% alles Codes noch aus der Zeit der GF3 und somit im bestem Fall in HSL oder CG geschrieben


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jul 19, 2006 19:09 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Bei Quake4 ist so ein Shader dabei.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 20, 2006 09:16 
Offline
DGL Member

Registriert: Do Apr 08, 2004 16:55
Beiträge: 516
Thx für die Antworten, die sind durchaus Hilfreich.

Nur zur Sicherheit:
Wenn ich den 2ten Satz Vertexdaten als Attribute übergebe, dann gebe ich einfach den Pointer an der mir bei "glMapBufferARB();" zurückgegeben wird?

_________________
Shareholder und Leitender Entwickler bei Pipedream-Games.

Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 20, 2006 13:41 
Offline
DGL Member
Benutzeravatar

Registriert: So Jun 04, 2006 12:54
Beiträge: 263
Syntaktisch sollten sich die Attribute fast genauso handhaben lassen wie die anderen VBO Teile. Der Code sollte zumindest ähnlich aussehen...


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 19 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.019s | 17 Queries | GZIP : On ]