var: Nachtrag

Beitrag lesen

Hallo miteinander!

Ich habe nochmal darüber nachgedacht und glaube, dass es zwar theoretisch Programm-Konstrukte geben mag, bei denen eine Shader-Generierung on-the-fly unperformant wäre, aber in der absoluten Mehrzahl der Fälle dürfte es wohl kein Problem darstellen.

Die in der Praxis wohl wahrscheinlichsten Veränderungen von Objekteigenschaften bei Animationen dürften nämlich ohnehin nicht das Vorliegen der Eigenschaft selbst, sondern nur die zugewiesenen Werte betreffen, wie beispielsweise Position, Beleuchtungsstärke und -richtung, usw., und das können die Shader-Programme ja unproblematisch handhaben.

Und selbst wenn die Neuerstellung eines Shader-Programms zur Laufzeit erforderlich wird, so dürfte es dennoch unwahrscheinlich sein, dass dies öfter als ein paar mal geschieht, zumal der alte Zustand, sprich, das zuvor genutzte Shader-Programm, ja nicht erneut erstellt werden muss, sondern einfach gespeichert und bei Bedarf mit gl.useProgram( ) wieder angewendet werden kann.

Ich denke, ich werde die Benutzer, wie zuvor schon angedacht, mit der ganzen Shader-Problematik also überhaupt nicht behelligen, so dass sie einfach wie in CSS die gewünschten Eigenschaften für die erstellten node-Objekte festlegen können, unabhängig davon, ob das vor oder während der drawing-time geschieht.

Denn nur für ein paar absolute Grenzfälle den Code aufzublähen und die Benutzung komplizierter zu machen ist wohl keine gute Wahl und schließlich ist mein Framework ja auch so konzipiert, dass die automatische Shader-Generierung vom Benutzer deaktiviert und stattdessen eigene GLSL-Sources eingebunden werden können...

Damit dürfte allen gedient sein. ;-)

Gruß,

var