Wie erreicht man einen Neonlichteffekt?

Antworten:

13

Bitte schön :)

GPU Gems - Glow-Effekt

Bei so vielen Objekten, die einen leuchtenden Effekt auf dem Bildschirm haben (insbesondere in Geometry Wars), handelt es sich meistens um einen Shader-Effekt, der dem in diesem Artikel beschriebenen Shader ähnelt.

Ray Dey
quelle
Dies geschah in Maßen, weil vorgeschlagen wurde, einen defekten Link zu bearbeiten. Obwohl ich erkenne, dass diese Antwort alt ist, gibt es immer noch eine Richtlinie, die von Nur-Link-Antworten abhält. Würden Sie in Betracht ziehen, den grundlegenden Ansatz im Hauptteil dieser Antwort zusammenzufassen, anstatt ihn ganz der externen Ressource zu überlassen? Für den Fall, dass die Verknüpfung in Zukunft erneut unterbrochen wird, ist es ideal, die wichtigsten Punkte hier beizubehalten.
DMGregory
6

Möglicherweise benötigen Sie nicht einmal einen Vollbild-Bloom / Glow-Effekt (denken Sie daran, dass diese Art von Effekt sehr GPU-intensiv ist, insbesondere, wenn Sie ein 2D-Spiel erstellen und hohe Systemanforderungen vermeiden möchten).

Versuchen Sie zunächst, Ihre Sprites durch additive Überblendung zu rendern - mit einer Überblendungsgleichung wie der folgenden:

(SRC_COLOUR * SRC_ALPHA) + (DST_COLOUR * ONE)

Backen Sie dann die Schimmer in Ihre Sprites (oder rendern Sie sie als zusätzliche additive Sprites)

Natürlich weist dieser Ansatz einige Einschränkungen auf - das Aufaddieren überlappender Sprites kann unerwünscht sein und würde durch die Verwendung eines Vollbild-Bloom / Glow-Effekts vermieden

Bluescrn
quelle
2

Es gibt zwei Möglichkeiten, dies zu erreichen.

Das oberste verwendet nur halbtransparente Bilder.

Das untere, kompliziertere (wieder eine Vermutung), spielt mit Puffern , um den Glühen-Effekt (Bloom-Effekt) zu erzeugen.

PhilCK
quelle