Hi,
ich habe einen Pixelshader, den ich auf WPF-Controls als Effekt (mit entsprechender Wrapper-Klasse) anwenden kann.
Nun möchte ich diesen Effekt nicht auf ein Control, sondern auf ein Bitmap oder sonstwas anwenden.
Ich habe schon Lösungen gefunden, die im Code-Behind temporär ein Image-Control erzeugen, dieses mit dem Effekt belegen und es dann über RenderTargetBitmap in ein Bild rendern.
Gegen diese Methode sprechen aus meiner Sicht 2 Dinge:
1. Ich will keine Controls verwenden, das erscheint mir zu unsauber.
2. RendertargetBitmap benutzt nicht die GPU, sondern die CPU. Trotz Pixelshader (hab ich in den MSDN-Boards und bei Stackoverflow gelesen).
Gibt es eine Möglichkeit, mein Vorhaben ohne Controls zu realisieren? Wenn ja: Welche?
Es wäre m. M. n. auch sinnvoll, die GPU zu nutzen, wenn der Effekt schon in HLSL als Pixelshader implementiert wurde.
Sicher wäre es eine Lösung, direkt über DX zu arbeiten. Dann müsste in in meiner Anwendung allerdings sicherlich das DX-Redist. mitliefern. Das kommt auch nicht in Frage.
Da WPF DX benutzt, hab ich mir gedacht, dass es sicherlich auch ohne große Umwege möglich ist.
Hat irgendwer von Euch eine Idee? Ich bin leider ziemlich neu in WPF und würde mich freuen, wenn ihr mir sagen würdet, ob und wie es geht.
bis dann,
nikeee
ich habe einen Pixelshader, den ich auf WPF-Controls als Effekt (mit entsprechender Wrapper-Klasse) anwenden kann.
Nun möchte ich diesen Effekt nicht auf ein Control, sondern auf ein Bitmap oder sonstwas anwenden.
Ich habe schon Lösungen gefunden, die im Code-Behind temporär ein Image-Control erzeugen, dieses mit dem Effekt belegen und es dann über RenderTargetBitmap in ein Bild rendern.
Gegen diese Methode sprechen aus meiner Sicht 2 Dinge:
1. Ich will keine Controls verwenden, das erscheint mir zu unsauber.
2. RendertargetBitmap benutzt nicht die GPU, sondern die CPU. Trotz Pixelshader (hab ich in den MSDN-Boards und bei Stackoverflow gelesen).
Gibt es eine Möglichkeit, mein Vorhaben ohne Controls zu realisieren? Wenn ja: Welche?
Es wäre m. M. n. auch sinnvoll, die GPU zu nutzen, wenn der Effekt schon in HLSL als Pixelshader implementiert wurde.
Sicher wäre es eine Lösung, direkt über DX zu arbeiten. Dann müsste in in meiner Anwendung allerdings sicherlich das DX-Redist. mitliefern. Das kommt auch nicht in Frage.
Da WPF DX benutzt, hab ich mir gedacht, dass es sicherlich auch ohne große Umwege möglich ist.
Hat irgendwer von Euch eine Idee? Ich bin leider ziemlich neu in WPF und würde mich freuen, wenn ihr mir sagen würdet, ob und wie es geht.
bis dann,
nikeee
Von meinem iPhone gesendet