Direct3D/C# - Unschärfebereich unter einem Rechteck, das auf einem Sprite gezogen wurde
Frage
Irgendeine Idee, wie man es macht? Ich zeichne ein Rechteck, das ein Halbtransparentenfenster sein soll. Ich habe es geschafft, die Transparenz zu machen, indem ich eine Halbtransparent-Textur gezogen habe, aber ich möchte auch das verwischen, was unter dem Fenster liegt.
Normalerweise (z. B. mit GDI) würde ich eine Bitmap des Bereichs erstellen, ihn verwischen und als Hintergrund meines Fensters malen. Mit Direct3D weiß ich nicht einmal, wie ich den Bereich mit dem bekommen kann, was bereits darauf gerendert wird. Oder sogar es kann einen anderen Ansatz geben, kann es nicht. Bitte helfen Sie.
Andere Tipps
Es erfordert, dass Ihr Backbuffer als Textur ist. Sie können dann das Ganze einer neuen Textur übertragen und den relevanten Teil verwischen, bevor Sie Ihr Semi-Transfenster über die neue Textur legen.
Bearbeiten: Afaik Sie können die Draw -Funktion in einem Shader nicht verwenden. Sie müssen Ihren eigenen Sprite -Renderer schreiben. Das Start und Zeichnen richten Sie eine ganze Ladung von Zuständen ein, die Ihre Verwendung eines Scheitelpunkt -Shaders brechen.