[OGL] Bestimmte Regionen/Farben v. Textur vom Lighting ausschliessen?



  • Hi Leute!

    Ich hab gestern Nacht mal wieder etwas rumexperimentiert und ein cooles Raumschiff mit Beleuchtung etc in OpenGL gebastelt 😃
    Ich habe eine Textur auf die die Fenster des Raumschiffs in Knall-Weiss aufgezeichnet sind. Durch das Lighting werden die natürlich auch dunkler, wenn das Poly sich von der Lightquelle abwendet. Kann man irgendwie bestimmte Farben oder Regionen vom Lighting ausschliessen ? Oder nachträglich aufhellen ?
    Wäre ein cooler Effekt, wenn das Raumschiff im dunkel liegt und man nur die Lichter der Fenster sieht 😋
    Ich könnte natürlich pro Fenster ein eigenes Poly reinsetzen, aber bei grossen Superduper-Sternenzerstörern wäre das etwas verschwenderisch 🙂
    Jemand ne Idee ?



  • Die weißen Fenster im Alpha Kanal durchsichtig machen.
    Danach zweiten Renderpass mit abgeschalteten Lichteinfluss und inversem Alpha.



  • Hehe, ja das könnte so gehen. Aber der zweite Pass wird meine Framerates anfressen 🙄
    Fällt dir noch eine elegantere Alternative ein? Darf ruhig kompliziert sein, nur kein Leistungsfresser.

    (edit)
    Mir kommt da gerade ne Idee. Wann während des Rendering Prozesses findet das Blending statt ? Vor oder nach der Beleuchtung ? Vielleicht könnte man mit Hilfe des Alphakanals die betreffenden Pixel heller blenden. Das geht natürlich nur, wenn die BlendFunc mit dem Ergebnis aus dem Lighting arbeitet.


  • Mod

    kompliziert ist meist Leistungsfressend

    Cpp_Junky schrieb:

    Wann während des Rendering Prozesses findet das Blending statt ? Vor oder nach der Beleuchtung ?

    beleuchtung ist per vertex.
    blenden ist per pixel.

    Cpp_Junky schrieb:

    Vielleicht könnte man mit Hilfe des Alphakanals die betreffenden Pixel heller blenden. Das geht natürlich nur, wenn die BlendFunc mit dem Ergebnis aus dem Lighting arbeitet.

    mit purem oGL geht das nicht. mit registercombinern und shadern geht das.


Anmelden zum Antworten