Ich habe im Internet nach Ressourcen für das Rendern eines Bloom-Effekts mit GLSL gesucht, aber nichts gefunden. Obwohl das Tutorial auf der Website von Philip Rideout gut ist, funktioniert es auf meiner Nvidia-GPU sehr schlecht.
Kann mich jemand anleiten, wie ich dieses Problem angehen und eine ziemlich effiziente Implementierung eines Bloom-Effekts aufbauen soll?
Antworten:
Wie Trevor in seinem Kommentar erwähnt hat, besteht Ihre einzige Option möglicherweise darin, die Größe Ihres Kernels zu verringern oder ein weiteres Downsampling durchzuführen.
Aber haben Sie das Tutorial, mit dem Sie verlinkt sind, gründlich gelesen? Es gibt einen Tipp zum Ausnutzen der Hardware-Filterung, den der Autor "Sneaky" -Version nennt. Dies ist wahrscheinlich der beste Trick, mit dem Sie Ihren Blüteeffekt optimieren können, ohne die Qualität zu beeinträchtigen.
quelle
Ich habe ein sehr ähnliches Problem (Unschärfe, aber der Bloom-Filter verwischt) mit zwei Durchgängen gelöst.
Im ersten Durchgang verwische ich in X-Richtung und im zweiten Durchgang verwische ich in Y-Richtung.
Ich weiß nicht, woher ich diesen Trick habe, aber er verringert die zeitliche Komplexität von n² auf 2n.
Dies funktioniert nur für Kernel, die keine Richtung haben (so können Sie einen Bokeh-Kernel nicht auf diese Weise optimieren).
quelle