Unity Shaders – UnityObjectToClipPos(v.vertex);

category

Uncategorized

author

admin

Co robi ta funkcja? Jeśli mamy wierzchołek mesha np.(1,0,1), to ta funkcja zamienia jego pozycję (x,y,z) na (x’,y’,z’,1) gdzie x’,y’ i z’ to są pozycje chyba w pikselach na ekranie. Polega to na wymnożeniu przez macierze M V P. Jak to sprawdzić?

Jak zawsze najlepiej kolorem:
Co robi ten shader? kolor piksela równy jest położeniu piksela przemnożony przez współczynnik.
Po co ten współczynnik? Funkcja zwraca wartości w pikselach które są większe od 1. Kolor jest z przedziału [0,1]. Zatem żeby zobaczyć kolor inny niż żółty potrzebujemy jakiegoś małego mnożnika.

gdzie _PosMultiplier jest parametrem materiału.
Efekt?

Efekt jest widoczny dopiero po przemnożeniu przez jakiś współczynnik zmniejszający wartości zwracane przez UnityObjectToClipPos do wartości między [0,1]. (Position multiplier)

A jak wygląda kod tej funkcji?
Ponoć tak: https://forum.unity3d.com/threads/unityobjecttoclippos.400520/

 

Leave a comment