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.
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
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.
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.