Archive for sierpień, 2008

Cel-shading

sobota, sierpień 30th, 2008


Obiekt z podstawowym cel-shaderem (zwanym podobnie toon shader) i wykrywaniem granic.

Cel-shading (podobnie: toon shading) - odmiana niefotorealistycznej techniki renderowania, mającej być przyczyną impresja, iż rycina komputerowa została narysowana ręcznie. Cel-shading jest często w użyciu do naśladowania stylu komiksów bądź kreskówek. Jest to wystarczająco świeżo miniony bonus do grafiki komputerowej, w większości wypadków w użyciu w konsolowych grach wideo. Jakoś końcowy konsekwencja sprawia impresja prostego, podobnego do rysowanej ręcznie animacji, bieg generowania tego efektu jest zdeponowany. Miano pochodzi od przezroczystych arkuszy octanowych, zwanych po angielsku cel. Są one używane do tworzenia tradycyjnych, dwuwymiarowych animacji, takich jakim sposobem starsze produkcje Disneya.

Proces

Proces cel-shadingu rozpoczyna się od tradycyjnego modelu 3D. Różnice pojawiają się, podczas gdy cel ów jest wyświetlany na ekran. Motor renderujący wybiera przed chwilą nieco odcieni każdego koloru do narysowania obiektu, tworząc płaski aparycja. Nie jest to tym samym, co wybranie kilku odcieni na teksturę, gdyż oświetlenie albo inne efekty środowiskowe mogłyby wykreślić skutek. Tym samym cel-shading jest często implementowany w charakterze dodatkowe doświadczenie renderowania, kiedy inne operacje zostały natychmiast zakończone.

Aby naszkicować czarne atramentowe linie zakreślające kontury obiektu, backface culling zostaje odwrócony tak bardzo, tak aby rysował jeno odwrócone tyłem trójkąty. Odtąd rysuje się na czarno boki trójkątów. Muszą one być narysowane multum rózgi z niewielką zmianą w przesunięciu, by linie były grube. To daje zacieniowany na czarno konfiguracja. Backface culling jest w takim przypadku ustawiany z powrotem na regularny postępowanie, tak aby naszkicować zasłanianie i opcjonalne tekstury obiektu. W końcu obraz filmowy jest złożony z użyciem Z-bufferingu, jak iż odwrócone tyłem powierzchnie ciągle leżą głębiej na scenie aniżeli odwrócone przodem. W efekcie cel jest obrysowany na czarno i poniekąd kontury, które znajdują się na powierzchni obiektu zostają wyświetlone.

Czajnik z Utah renderowany z użyciem tej metody:

  1. Odwrócone tyłem powierzchnie są rysowane z użyciem grubych linii
  2. Obiekt jest rysowany ze standardową teksturą
  3. Cieniowanie

Kroki 2 i 3 mogą stać się połączone używając multi-teksturowania

Zobacz też

  • Animacja komputerowa
  • Grafika trójwymiarowa

Bibliografia

  • CelShading.com. More information on 3D cel-shading including an design gallery. (en)
  • Celshader.com FAQ. Retrieved August 2, 2005. (en)
  • IGN: Jet Grind Radiofonia Review. Retrieved August 4, 2005. (en)
  • GameDev.net - Cel-Shading. Retrieved August 5, 2005. (en)

Ray tracing

czwartek, sierpień 28th, 2008


Scena wygenerowana metodą raytracingu, w której wszystkie obiekty odbijają światło

Ray tracing (literalnie: infiltracja promieni) - sprawność generowania fotorealistycznych obrazów scen trójwymiarowych. Opiera się na analizowaniu właśnie tych promieni światła, które trafiają wprost do obserwatora. W ray tracingu rekursywnym także bada się promienie odbite zwierciadlanie natomiast załamane.

Ponadto umożliwia łatwą realizację CSG, a podobnie wizualizację idealnych, opisywanych formułami matematycznymi obiektów.

Metoda wzdłuż uproszczonego modelu interakcji światła z otoczeniem daje ogromnie dobre rezultaty. Wszelako ze względu na koszty obliczeniowe, przez mnogość lat jej eksploatacja limitowała intensywność obliczeniowa komputerów, które były dostępne na rzecz dużych firm, głównie z branży filmowej. Współczesne komputery osobiste są w stanie wytwarzać obrazy tą metodą, dostępne są komercyjne jakże również darmowe programy np. POV-Ray, Blender.

Spis treści

//

Algorytm

Algorytm ray tracingu przebiega następująco:

  1. Z punktu w którym znajduje się świadek wyprowadzany jest promień dziki; promień przecina rzutnię.
  2. Wyszukiwany jest bliźni paragraf przecięcia z obiektami znajdującymi się na scenie.
  3. Następnie na rzecz każdego światła zdefiniowanego na scenie wyznaczana jest czytelność w tym punkcie, zgodnie z określonym modelem oświetlenia (np. Lamberta to znaczy Phonga).
    Przeważnie również określa się cienie - w tym celu jest testowana widzialność źródła światła z danego punktu, tj. oznacza to przestrzeń niezadrukowana nie jest przesłaniane przez jakikolwiek cel i pod warunkiem nie - nie prędzej wówczas wyliczana jest zrozumiałość punktu na rzecz tego źródła.

W algorytmie rekurencyjnym dochodzi wciąż jeden warunek:

  1. Jeśli punkt programu przecięcia wypada do obiektu odbijającego przestrzeń niezadrukowana ewentualnie przezroczystego, wysyłane są z tego punktu promienie wtórne - godnie, promień lustrzany albo promień załamany - i wzór rekursywnie powtarza się od drugiego kroku (w większości programów wolno więzić liczbę zdechnąć rekurencyjnych). Odcień punktu wyznaczany jest nie prędzej, podczas gdy znane są wyniki przetwarzania promieni wtórnych; przeciętnie budowniczy podaje procentowo oddziaływanie kolorów z promieni wtórnych, tj. określa jakim sposobem nadzwyczaj cel odbija/załamuje światło.

Algorytm ray tracingu stosuje się na rzecz wszystkich pikseli obrazu; by zniknąć aliasingu przez jeden punkt przeprowadza się więcej aniżeli jeden promień.

Bardzo dużą zaletą tej metody jest prostota zrównoleglania programów - każdy promień niedostępny być może być przetwarzany obojętnie od innych; równie promienie wtórne są od siebie niezależne.

Obecnie implementuje się ray tracing również na procesorach graficznych, uzyskując obrazy w czasie rzeczywistym (kilkanaście-kilkadziesiąt klatek na sekundę).

Testowy proces algorytmu rekursywnego

Obserwator (aparat) znajduje się w punkcie O, na scenie umieszczone zostały dwoje światła L1 i L2 natomiast 3 obiekty:

  1. a (wyrzutnia): mętny, nie odbija światła,
  2. b (obwód): przeźroczysty, odbija światło,
  3. c (prostokąt): dopiero co odbija światło.

Z punktu O wyprowadzany jest promień dziki (naiwny), kto trafia w cel b - bowiem odbija i załamuje przestrzeń niezadrukowana, w związku z tym z punktu przecięcia wypuszczane są duet promienie wtórne: zwierciadlany (marksista) i załamany (lazur). Promień zwierciadlany trafia z kolei w cel a - w tym miejscu w tym momencie nie są generowane żadne promienie wtórne. Z kolei promień załamany znów trafia w cel b i jeszcze raz ulega załamaniu (tak bardzo istotnie winien tu być nadal promień lustrzany, pomimo tego ze względu na klarowność rysunku został pominięty). ów promień trafia w cel c, jaki odbija przestrzeń niezadrukowana, zatem generowany jest dopiero co jeden promień wtórny (zwierciadlany), jaki niemniej jednak nie przecina się z żadnym obiektem na scenie i na tym kończy się analiza.

Kreskami przerywanymi zaznaczono dodatkowe promienie, służące określeniu widoczności świateł w punktach przecięcia (na rzecz punktów obiektu b te promienie nie zostały narysowane) - w jaki sposób niechybnie zarówno inne obiekty (b) jakże i w pojedynkę cel (a) prawdopodobnie klinować światło.

Złożoność

Ray tracing jest cenny obliczeniowo - wartość obliczeń jest proporcjonalna do rozdzielczości obrazu, zależy również od stopnia skomplikowania sceny, tj. od liczby świateł (powołanie cieni), liczby obiektów zaś ich charakterystyki: o ile bo zawiera dużą liczbę obiektów odbijających czy też załamujących przestrzeń niezadrukowana powinno się wykonywać analizę podobnie na rzecz promieni wtórnych.

Zasadniczym czynnikiem wpływającym na prędkość obliczeń jest metoda znajdowania najbliższego przecięcia promienia z obiektami geometrycznymi. Np. desygnacja przecięcia z kulą wymaga rozwiązania równania kwadratowego, a przecięcia z płaszczyzną rozwiązania równania liniowego (aliści aktualnie na rzecz wycinków płaszczyzny, np. wielokątów, wymaga dodatkowych testów). Z kolei na rzecz obiektów w wyższym stopniu skomplikowanych, jakże torusy, bryły obrotowe, płaty Béziera, innymi słowy NURBS potrzebne są złożone obliczenia.

Nie mniej ważnym problemem jest wytypowanie tych obiektów ze sceny, które mogą się z danym promieniem przeciąć - żeby procedury przeprowadzające dokładne obliczenia być przyczyną dopiero co w takim razie, podczas gdy jest to niezbędne; mówiąc obrazowo: jeżeli starcie zawiera milion obiektów, by za każdym łącznie nie analizować milion rózgi, oznacza to promień przecina każdy z nich. Jednym ze sposobów na minimalizację obliczeń jest rozpad przestrzenny sceny (regularną siatką, drzewami ósemkowymi, kd, to znaczy BSP), uniwersalnie wykorzystuje się podobnie bryły otaczające (pozwalające szybciej scharakteryzować czyli promień może mieć paragraf skojarzony z obiektem, czy też iż na chyba go nie ma).

Wady

Ray tracing, nieopodal swoich zalet, nie jest idealnym sposobem tworzenia fotorealistycznych obrazów. Przede wszystkim w ogóle nie uwzględnia światła rozproszonego, prócz tego bo operuje na pojedynczych promieniach, nie przypadkiem słusznie formować dyfrakcji, np. na pryzmacie, interferencji fal świetlnych i innych zjawisk falowych.

Stworzono mrowie technik, które stosowane osobiście, czy też wszystkiego z ray tracingiem pozwalają obejść te wady. Są to m.in. radiosity, path tracing, photon mapping i forward raytracing.

Zobacz też

  • Programy komputerowe wykorzystujące ray tracing:
    • 3D Studio
    • Blender
    • Maya
    • Lightwave 3D
  • rendering

slub hair transplant konstrukcje stalowe śmieszne zdjęcia autoklawoprogramowanie specjalistyczne piosenki teksty utworów blue teksty stres w pracy Podnośniki stemplowe
rolety antywłamaniowe śmieszne opowiadania Nieruchomości Warszawa Fundusze emerytalne Anna Kamieńska