Przejdź do zawartości

Cel-shading

Z Wikipedii, wolnej encyklopedii
Oryginalny obiekt 3D (z lewej) i z podstawowym toon shaderem z funkcją wykrywania granic (po prawej).

Cel-shading (także: toon shading) – rodzaj niefotorealistycznej techniki renderowania mającej sprawiać wrażenie, że grafika komputerowa została narysowana ręcznie. Technika ta jest często używana do naśladowania stylu rysowania stosowanego w komiksach lub kreskówkach.

Nazwa pochodzi od przezroczystych arkuszy octanowych, zwanych po angielsku cel. Są one używane do tworzenia tradycyjnych, dwuwymiarowych animacji, takich jak starsze produkcje Disneya. Cel-shading jest stosunkowo nowym efektem w generowaniu grafiki komputerowej, najczęściej używanym w konsolowych grach wideo. Chociaż końcowy rezultat sprawia wrażenie prostego, podobnego do rysowanej ręcznie animacji, proces generowania tego efektu jest złożony.

Proces

[edytuj | edytuj kod]

Proces cel-shadingu rozpoczyna się od tradycyjnego modelu 3D. Różnice pojawiają się, dopiero gdy obiekt ten jest rasteryzowany w celu wyświetlenia go na ekranie. Silnik renderujący wybiera tylko kilka odcieni każdego koloru do narysowania obiektu, tworząc wrażenie jego płaskości. Nie jest to tym samym procesem, co wybranie kilku odcieni na teksturę, ponieważ oświetlenie lub inne efekty środowiskowe mogłyby zniszczyć efekt końcowy. Dlatego też cel-shading jest często implementowany jako dodatkowe, końcowe przejście w procesie renderowania, gdy wszystkie inne operacje zostały już zakończone.

Aby narysować czarne atramentowe linie zakreślające kontury obiektu, backface culling zostaje odwrócony w ten sposób, aby rysował wyłącznie odwrócone tyłem trójkąty. Następnie rysowane są na czarno boki trójkątów; muszą być one narysowane wiele razy z niewielkim przesunięciem, aby powstałe linie stały się grube. W ten sposób powstaje zacieniowany na czarno kształt.

Backface culling jest wtedy ustawiany z powrotem na tryb normalny, aby narysować cieniowanie i opcjonalne tekstury obiektu. W końcu obraz jest składany z użyciem bufora-Z, jako że odwrócone tyłem powierzchnie zawsze leżą głębiej na scenie 3D niż odwrócone przodem. W efekcie obiekt jest obrysowany na czarno i nawet kontury, które znajdują się na powierzchni obiektu, zostają wyświetlone.

Przykład

[edytuj | edytuj kod]

Czajnik z Utah renderowany z użyciem metody cel-shadingu:

The Utah Teapot rendered using cel-shading.
The Utah Teapot rendered using cel-shading.

gdzie poszczególne rysunki przedstawiają kolejne kroki:

  1. odwrócone tyłem powierzchnie rysowane z użyciem grubych linii,
  2. obiekt rysowany ze standardową teksturą,
  3. cieniowanie.

Kroki 2 i 3 można połączyć, używając multiteksturowania.

Zobacz też

[edytuj | edytuj kod]

Bibliografia

[edytuj | edytuj kod]