2017-10-23 3 views
0

Ich hoffe, eine Webseite zu erstellen, die einen Shader-Effekt hat, der alle DOM-Elemente abdeckt. Ich weiß, dass es möglich ist, Shader auf eine Leinwand anzuwenden, aber ich möchte nicht meine gesamte Seite innerhalb einer Leinwand erstellen. Kennt jemand einen guten Weg, dies zu erreichen? Ich gehe davon aus, dass es, wenn es möglich ist, einige Technologien und Frameworks beinhalten wird.Können Sie einen Shader auf DOM-Elemente anwenden?

+0

Es ist derzeit nicht möglich, zeichnen die Browser-DOM-Elemente in WebGL zu machen, noch um Shader auf DOM-Elemente anzuwenden. Das Beste, was du tun kannst, ist wie du gesagt hast, rendere entweder selbst oder mit einer Bibliothek auf eine Leinwand. Natürlich können Sie auf Probleme stoßen. Beispielsweise wird die Texteingabe problematisch, wenn Sie sie selbst rendern, da Sie Sprachen, die Eingabemethodeneditoren verwenden, manuell unterstützen müssen. – gman

+0

Alternative: Verwenden Sie css 3d Transform func –

Antwort

2

Vielleicht suchen Sie nach etwas wie diesem HTML GL.

Es gibt keinen einfachen Weg, "einen Shader" auf das DOM anzuwenden ... Das DOM und das WebGL sind nativ zwei Entitäten, die sich nichts zu sagen haben, zwei getrennte Welten mit ihrer eigenen Logik, die wunderbarerweise miteinander verbunden sind zusammen über das HTMLcanvasElement. Das DOM ist eine Abstraktionsschicht auf sehr hoher Ebene, WebGL (dünne Abstraktionsschicht über OpenGL) ist eine Abstraktionsebene auf niedriger Ebene.

Das bedeutet, dass, mit Ausnahme von so etwas wie HTML GL verwenden, müssen Sie sich selbst etwas realisieren Ihren DOM throught eine Leinwand mit WebGL ...

Verwandte Themen