Piszę edytor gier i map za pomocą Java i jMonkeyEngine. W edytorze map mam pędzel zrobiony przez sferę szkieletową. Mój problem brzmi: chcę, aby był widoczny wszędzie, więc chcę odwrócić kolor piksela „za” tym pędzlem. Chciałem to zrobić za pomocą modułu cieniującego fragmenty (GLSL), ale nie wiem, jak uzyskać kolor tego piksela.
10
Odpowiedzi:
Szybkim i łatwym sposobem na to jest użycie standardowego równania mieszania z następującymi parametrami:
Jeśli
src
jest kolorem źródłowym (tym z twojego nowego obiektu) idst
kolorem docelowym (tym, który znajduje się w buforze ramki), obliczy nowy kolor w następujący sposób:Musisz tylko ustawić
src = 1
, tzn. biały, a otrzymasz odwrotne wideo. Moduł cieniujący fragmenty GLSL będzie:źródło