• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • Pixel Shader



    Podstrony: 1 [2] [3]
    Przeczytaj także...
    GPGPU (ang. General-Purpose computing on Graphics Processor Units lub General-Purpose computation on Graphics Processing Units – obliczenia ogólnego przeznaczenia na układach GPU, zwany także GPGP, rzadziej GP) – technika, dzięki której GPU, zwykle zajmujący się tylko obliczeniami związanymi z grafiką komputerową, umożliwia wykonywanie obliczeń ogólnego przeznaczenia, tak jak CPU. Dzięki temu wiele obliczeń, głównie obliczenia równoległe, można przeprowadzić znacznie szybciej.Teksturowanie - technika stosowana w grafice trójwymiarowej, której celem jest przedstawienie szczegółów powierzchni obiektów przestrzennych za pomocą obrazów bitmapowych (tekstur) lub funkcji matematycznych (tekstur proceduralnych). Mapowanie tekstury określa w jaki sposób powiązać piksele (nazywane w tym kontekście tekselami) lub wartości funkcji z powierzchnią obiektu. Tekstury niosą informacje o barwie powierzchni, jak również innych parametrach generowanego obrazu, związanych np. z modelem oświetlenia: barwa światła odbitego, rozproszonego, stopień przezroczystości, współczynnik załamania światła itp.

    Shader – krótki program komputerowy, często napisany w specjalnym języku programowania (shader language), który w grafice trójwymiarowej opisuje właściwości pikseli oraz wierzchołków. Technologia ta zastąpiła stosowaną wcześniej w kartach graficznych jednostkę T&L.

    Cieniowanie pozwala na znacznie bardziej skomplikowane modelowanie oświetlenia i materiału na obiekcie niż standardowe modele oświetlenia i teksturowanie. Jest jednak dużo bardziej wymagające obliczeniowo i dlatego dopiero od wprowadzenia bibliotek API DirectX 8 (rok 2000) sprzętowa obsługa cieniowania pojawiła się wśród możliwości kart graficznych komputerów osobistych. Wcześniej cieniowanie stosowane było tylko w niektórych fotorealistycznych rendererach (np. Renderman), gdzie grafika nie jest jednak generowana w czasie rzeczywistym.

    Renderowanie (od ang. rendering) – przedstawienie informacji zawartych w dokumencie elektronicznym w formie najbardziej właściwej dla danego środowiska (np. wizualnie, w tym na ekranie i w druku, czy dźwiękowo). Mechanizm odpowiedzialny w programie komputerowym za renderowanie nazywa się mechanizmem renderującym (ang. rendering engine, czasem silnik renderujący) lub rendererem (z ang.).HDR rendering (rendering z użyciem szerokiego zakresu dynamicznego, ang. High Dynamic Range Rendering) – technika generowania sceny w grafice trójwymiarowej, której efektem jest renderowanie świata z realistycznym oświetleniem, przy użyciu szerszego niż normalnie zakresu jasności oświetlenia.

    W stosunku do standardowych modeli oświetlenia, stosowanych do generowania grafiki w czasie rzeczywistym, cieniowanie umożliwia uwzględnienie między innymi:

  • refrakcji,
  • odbić lustrzanych,
  • oświetlenia HDR,
  • mapy przemieszczeń (ang. displacement maps),
  • innych efektów, takich jak rozmycie obrazu, zaszumienie, zmiana kolorów, itp.
  • Rodzaje cieniowania[ | edytuj kod]

    Obecnie, z uwagi na wymagania bibliotek DirectX w wersji 10, zniknął podział panujący dotychczas na Pixel Shader i Vertex Shader. Obliczenia, jakimi te odrębne jednostki się zajmowały, są teraz wykonywane przez jednolite jednostki obliczeniowe, które są dynamicznie przydzielane do odpowiedniego typu zadań, w zależności od bieżącej potrzeby. Rozwiązanie takie zostało nazwane przez ATI Stream Processors, a przez nVidię – Unified Shaders.

    Materiał - pojęcie używane w grafice 3D odnoszące się do zespołu cech powierzchni obiektu trójwymiarowego przetwarzanego w programie graficznym lub bibliotece programistycznej; oprogramowanie użytkowe pozwala zwykle tworzyć zestawy materiałów, które następnie można wielokrotnie używać.Komputer osobisty (ang. personal computer) – mikrokomputer przeznaczony przede wszystkim do użytku osobistego w domu i biurze. Służy głównie do uruchamiania oprogramowania biurowego, dostępu do zasobów Internetu, prezentacji treści multimedialnych (tekst, obrazy, dźwięki, filmy i inne), jak i gier.

    Biblioteki graficzne Direct3D i OpenGL używają trzech typów cieniowania:

    Vertex Shader[ | edytuj kod]

    Cieniowanie wierzchołkowe – uruchamiane jest raz dla poszczególnych przetwarzanych wierzchołków. Jego zadaniem jest transformacja położenia wierzchołka w wirtualnej przestrzeni 3D na współrzędne 2D na ekranie. Cieniowanie wierzchołkowe może operować na takich własnościach wierzchołków jak położenie, kolor i współrzędne tekstur, ale nie może tworzyć nowych wierzchołków. Wyjście cieniowania wierzchołkowego jest wejściem dla następnego etapu w potoku, jakim jest albo cieniowanie geometryczne (jeśli jest obecne), albo rasteryzacja.

    Rasteryzacja – w grafice komputerowej działanie polegające na jak najwierniejszym przedstawieniu płaskiej figury geometrycznej na urządzeniu rastrowym, dysponującym skończoną rozdzielczością.Siatka to w grafice 3D i CAD dwa lub więcej wielokątów połączonych ze sobą krawędziami. Zwykle siatki tworzone są z trójkątów lub czworokątów wypukłych.

    Geometry Shader[ | edytuj kod]

    Cieniowanie geometryczne – pozwala na dodawanie lub usuwanie wierzchołków z siatki wierzchołków (ang. mesh). Może być używane do proceduralnego tworzenia obiektów geometrycznych albo do dodawania objętościowych detali istniejących siatek wierzchołków. Te operacje mogłyby być zbyt kosztowne obliczeniowo dla CPU. Direct3D 10 i OpenGL 3.1 mają już zawarte wsparcie dla tego typu cieniowania. Jeśli cieniowanie geometryczne jest używane, to wtedy jego wyjście jest przekazywane na wejście rasteryzatora.

    NVIDIA Corporation NASDAQ: NVDA – amerykańska firma komputerowa; jeden z największych na świecie producentów procesorów graficznych i innych układów scalonych przeznaczonych na rynek komputerowy. NVIDIA jest także głównym dostawcą (pod względem udziału w rynku) producentów kart graficznych dla komputerów osobistych ze swoją standardową serią GeForce.Microsoft DirectCompute – API zajmujące się obsługą GPGPU. DirectCompute stanowi część pakietu DirectX od wersji jedenastej, ale działa zarówno z procesorami graficznymi wspierającymi DirectX 11, jak i DirectX 10.

    Pixel Shader, Fragment Shader[ | edytuj kod]

    Cieniowanie pikseli – jest jednostką odpowiadającą za wyliczanie koloru pikseli. Direct3D używa terminu pixel shader, a OpenGL – fragment shader. Piksele na wejście tego etapu cieniowania są pobierane z rasteryzatora, który wypełnia wielokąty przesyłane z potoku graficznego. Cieniowanie pikseli jest najczęściej używane do oświetlenia sceny i innych powiązanych efektów, np. bump-mappingu lub kolorowania.

    Procesor graficzny, inaczej GPU (ang. Graphics Processing Unit) – jest główną jednostką obliczeniową znajdującą się w nowych kartach graficznych.Karta graficzna – karta rozszerzeń komputera odpowiedzialna za renderowanie grafiki i jej konwersję na sygnał zrozumiały dla wyświetlacza.

    Poniższa tabela przedstawia, które wersje jednostek cieniowania odpowiadają poszczególnym wersjom bibliotek DirectX.

    Podstrony: 1 [2] [3]




    Warto wiedzieć że... beta

    Moc obliczeniowa komputera – liczba działań arytmetycznych, jakie może wykonać komputer w określonej jednostce czasu.
    Odbicie - w grafice komputerowej odzwierciedlenie powierzchni o właściwościach odbijających światło. Odbicia na lśniących powierzchniach np. metalu lub ceramiki zaliczyć można do efektów fotorealistycznych w grafice opartej na renderowaniu. Odbicia wyliczane są w trójwymiarowej scenie od powierzchni materiałów modeli, którym nadano taką właściwość.
    Transform and Lighting, T&L (ang. transformacja i oświetlenie) – moduł w kartach graficznych, który przyspiesza obliczanie animacji. Jego brak powoduje konieczność większego wykorzystania procesora, przez co znacznie zmniejsza się płynność renderowania grafiki trójwymiarowej.
    DirectX – zestaw funkcji API wspomagających generowanie grafiki (dwu- i trójwymiarowej), dźwięku oraz innych zadań związanych zwykle z grami i innymi aplikacjami multimedialnymi.
    ATI Technologies Inc. (gdzie ATI jest skrótem od Array Technologies Incorporated) NASDAQ: ATYT – to kanadyjski producent układów scalonych, znany głównie ze swoich kart graficznych. Notowany na giełdach w Toronto i NASDAQ.
    Mapowanie wypukłości (ang. bump mapping) – w grafice 3D technika teksturowania, która symuluje niewielkie wypukłości powierzchni, bez ingerencji w geometrię obiektu trójwymiarowego.
    Obliczenia równoległe – forma wykonywania obliczeń, w której wiele instrukcji jest wykonywanych jednocześnie. Taka forma przetwarzania danych była wykorzystywana przez wiele lat, głównie przy wykorzystaniu superkomputerów, a szczególne zainteresowanie zyskała w ostatnich latach, z uwagi na fizyczne ograniczenia uniemożliwiające dalsze zwiększanie częstotliwości taktowania procesorów. Obliczenia równoległe stały się dominującym wzorcem w architekturze komputerowej, głównie za sprawą upowszechnienia procesorów wielordzeniowych.

    Reklama

    Czas generowania strony: 0.019 sek.