Shader: Różnice pomiędzy wersjami
[wersja nieprzejrzana] | [wersja przejrzana] |
Usunięta treść Dodana treść
m robot dodaje: fa:سایهزن, ko:셰이더 usuwa: tr:Shader |
WP:SK, int., źródło |
||
Linia 1:
'''Shader'''
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 kilku lat sprzętowa obsługa cieniowania jest obecna w [[karta graficzna|kartach graficznych]] dla komputerów domowych. Wcześniej cieniowanie stosowane było w niektórych fotorealistycznych [[renderer
W stosunku do standardowych modeli oświetlenia, stosowanych do generowania grafiki w czasie rzeczywistym, cieniowanie umożliwia uwzględnienie między innymi:
Linia 7:
* odbić [[lustro|lustrzanych]],
* oświetlenia [[High dynamic range rendering|HDR]],
* mapy przemieszczeń ([[displacement map
* innych efektów takich jak rozmycie obrazu, zaszumienie, zmiana kolorów, itp.
== Rodzaje cieniowania ==
Obecnie, z uwagi na wymagania bibliotek [[DirectX]] w wersji 10, zniknął podział panujący dotychczas na Pixel 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 takiego typu obliczeń, jaki jest aktualnie potrzebny. Rozwiązanie takie zostało nazwane przez [[ATI Technologies|ATI]] ''Stream Processors'' a przez [[NVIDIA Corporation|nVidię]] ''Unified Shaders''.
Biblioteki graficzne [[Direct3D]] i [[OpenGL]] używają trzech typów cieniowania:
=== Vertex Shader ===
'''Cieniowanie wierzchołkowe'''
=== Geometry Shader ===
'''Cieniowanie geometryczne'''
=== Pixel Shader lub Fragment Shader ===
'''Cieniowanie pikseli'''
Poniższa tabela pokazuje, jak wersje jednostek cieniowania odpowiadają poszczególnym wersjom DirectX.
Linia 46:
|}
== Przetwarzanie równoległe ==
Cieniowanie jest wykorzystywane do zaaplikowania przekształceń na dużym zbiorze elementów jednocześnie, np. na każdym pikselu ekranu albo dla każdego wierzchołka modelu. Oznacza to [[
== Języki cieniowania ==
Współczesne języki cieniowania:
* [[
* HLSL
* [[Cg (język programowania)|Cg]]
W rzeczywistości HLSL oraz Cg to jeden i ten sam język
{{Przypisy}}
==Linki zewnętrzne==▼
▲== Linki zewnętrzne ==
* {{lang|en}} [http://appsrv.cse.cuhk.edu.hk/~ymxie/Geometry_Shader Samouczek o cieniowaniu geometrycznym]
* {{lang|en}} Publikacja nVidii o CUDA, [http://www.nvidia.com/object/IO_37226.html nowym środowisku programistycznym] i kompilatorze do języka programowania do pisania aplikacji naukowych, które są uruchamiane na jednostkach szaderowych na kartach graficznych. Zobacz także [http://developer.nvidia.com/object/cuda.html developer's home page].
* {{lang|en}} [http://www.msi.unilim.fr/~porquet/glexts/GL_EXT_geometry_shader4.txt.html Rozszerzenie OpenGL o możliwość pisania na szadery geometryczne.]
[[Kategoria:
[[ar:مظلل]]
|