GLSL Paperfold

Für Fragen zu Grafik APIs wie DirectX und OpenGL sowie Shaderprogrammierung.
Antworten
dasRicardo
Beiträge: 3
Registriert: 14.08.2014, 15:55

GLSL Paperfold

Beitrag von dasRicardo »

Hallo,

ich versuche mich gerade darin einen Paperfold Effekt umzusetzen: https://github.com/honcheng/PaperFold-for-iOS
Leider habe ich aber keine Idee wie ich das mit einem Vertex Shader hinbekommen könnte. Ich habe ja immer nur einen Vertex und weiss nicht welcher es ist. wenn ich z.B. die Plane in 3 Parts unterteilen will. Hat jemand vielleicht eine Idee wie ich das umsetzen könnte mit Hilfe eines Vertex Shaders?

Mfg Ricardo
Benutzeravatar
Ingrater
Establishment
Beiträge: 103
Registriert: 18.04.2007, 21:52

Re: GLSL Paperfold

Beitrag von Ingrater »

Warum willst du das unbedingt mit dem vertex shader machen? Du könntest auch einfach die entsprechenden Koordinaten für deine Vertices auf der CPU ausrechnen und dann deinen vertex buffer jedes frame updaten. Da du für einen paperfold effekt sehr warscheinlich nur eine geringe Anzahl an vertices brauchen wirst, sollte das absolut kein Problem darstellen.
dasRicardo
Beiträge: 3
Registriert: 14.08.2014, 15:55

Re: GLSL Paperfold

Beitrag von dasRicardo »

Hallo,

dazu muss ich ein wenig ausholen. Ich benutze gerade QT, und deren neue Komponenten QtQuick. Das Problem nun, ich kann nicht einfach nen mesh erzeugen und den dann benutzen. Ich habe nur dir Möglichkeit anzugeben das sich das element in einem Grid von der Auflösung die ich angeben z.B. 2x2 aufteilt und dann diese Geometrie eben nur mit Hilfe eines Vertex Shaders verändern. Ansonsten hätte ich es sicherlich auch so gemacht wie du vorschlägst, eigenen Mesh und dann die Vertex Daten von Hand durchgehen :)
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: GLSL Paperfold

Beitrag von kimmi »

Du kannst dir aber auch in QTQuick eine eigene Geometrie erzeugen. QSGGeometry mit einem eigenen Szene-Knoten und dann kannst du entsprechend loslegen.

Hier: http://doc.qt.digia.com/qt-quick3d-snap ... eflip.html kannst du dir ein Beispiel ansehen, wie der Effekt mittels einer Textur im Shader erzeugt wurde.

Gruß Kimmi
dasRicardo
Beiträge: 3
Registriert: 14.08.2014, 15:55

Re: GLSL Paperfold

Beitrag von dasRicardo »

Hallo Kimmi,

stimmt kann ich, wollte ich auch erst damit machen aber ich hab noch keinen Weg gefunden meine qml Items auf eine Texture zeichnen zu lassen. Der link von dir nimmt ja einfach nur PNGs und nutzt diese als Texture. Ich möchte ja gern die UI benutzen um einen schicken ausblend Effekt zu bekommen.

PS: Der Effekt ist ein anderer :)
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: GLSL Paperfold

Beitrag von kimmi »

Du kannst in QML auch Render2Texture implemtieren, such mal bei google.

Kimmi
Antworten