Archive for wrzesień, 2008

Obraz HDR

sobota, wrzesień 27th, 2008

Obraz HDR (ang. High Dynamic Range design) to obraz filmowy o zakresie jasności (ang. luminance) porównalnym do zakresu jasności widzianego przez człowieka. Zasięg jasności definiowany jest w charakterze nastawienie najjaśniejszego punktu na obrazie do punktu najciemniejszego.

Dokładniejsze komentarz pojęcia obrazu HDR wymaga odwołania się do sposobu widzenia obrazów przez człowieka. Obrazem nazywamy to co widzimy za pomocą naszego wzroku. Maszyneria widzenia aktywowany jest przez szwung, którym jest lśnienie elektromagnetyczne. Rzut oka człowieka reaguje na zarysowany dziedzina długości fal elektromagnetycznych, a fale w tym zakresie nazywane są światłem. Dwoma podstawowymi parametrami światła są częstotliwość i skala. Częstotliwość określa obręb barw, które widzimy na obrazie. Odwrotnością częstotliwości fali świetlnej jest długość fali. Kosmyk światła zawierająca fale o różnej długości wywołuje poczucie widzenia określonej barwy. Drugim parametrem światła jest rozmiar, opisująca energię jaka dociera do oka. To, iż jedne przedmioty na obrazie są ciemniejsze, a inne jaśniejsze wynika z faktu, iż przedmioty te emitują wiązki fal o różnych intensywnościach. Uniwersalnie stosowanym odpowiednikiem intensywności jest czytelność. Zakres przypada na jednostkową, tzn. bez granic małą powierzchnię, tymczasem czytelność liczona jest na rzecz mierzalnej powierzchni i wyrażana w cd / m2 (kandela na jednostkę powierzchni). Komórki światłoczułe w ludzkim oku reagują na niesłychanie rozległy pole jasności, od 10 − 5cd / m2 emitowanych przez bezksiężycowe firmament w nocy do 109cd / m2 w klarowny nasłoneczniony doba. ów dziedzina zwany jest dynamiką ludzkiego wzroku bądź jeszcze raz maksymalnym zakresem dynamiki jasności obrazu.

Większość urządzeń technicznych nie jest w stanie spisywać pełnego zakresu dynamiki ludzkiego wzroku. Równie nie są w stanie wytwarzać (jeszcze raz dekonspirować) fal świetlnych o pełnym zakresie jasności i barw. Przykładem urządzenia rejestrującego film jest oszukaniec liczbowy, a generującego monitor komputerowy. Zarówno szachraj, jakim sposobem i monitor rejestrują/generują obrazy o ograniczonym ewentualnie niskim zakresie dynamiki nazywane w skrócie obrazami LDR (ang. Low Dynamic Range). Człowieczy spojrzenie rejestruje obrazy o pełnym bądź jeszcze raz wysokim zakresie dynamiki, w skrócie obrazy HDR (ang. High Dynamic Range).

Standardowy film komputerowy to dwuwymiarowa kraj lat dziecinnych punktów zwanych pikselami (ang. pixels). Parametry piksela określają czytelność i barwa (jeszcze raz częstotliwość) punktu obrazu. Przykładowym i uniwersalnie stosowanym sposobem definiowania parametrów piksela jest 24-bitowa przedstawicielstwo RGB (ang. Red-Green-Blue). Zrozumiałość i barwa określane są w niej przez trzy 8-bitowe liczby całkowite, każdą składową koloru jest dozwolone przeto przedłożyć w 256 poziomach nasycenia. Przedstawicielstwo RGB umożliwia prawidłowe wyświetlanie obrazów o zakresie jasności od 1 cd / m2 do naokoło 80 cd / m2. Wyświetlanie obrazów HDR wymaga większej liczby bitów na punkt (minimum 32-bitów) i innego sposobu reprezentacji koloru.

Zobacz też

  • Dynamic Range Increase (DRI)
  • High dynamic range imaging

OpenGL Shading Language

czwartek, wrzesień 25th, 2008

OpenGL Shading Language (GLSL, glslang) - mowa, jaki służy do pisania programów cieniujących (epitet to nie oddaje w tej chwili rzeczywistej funkcjonalności tych programów - ma profil dziejowy) na rzecz biblioteki OpenGL, definiujących przekształcenia geometryczne wierzchołków i operacje na fragmentach - tzw. shaderów.

Spis treści

//

Funkcjonalność

Każdy czubek, wyjąwszy swoich współrzędnych, przypuszczalnie dysponować ciąg przypisanych atrybutów. Część z nich, jakże np. barwa, jest zdefiniowana jawnie w specyfikacji OpenGL, ale wręcz możliwe jest też rozszerzanie własnych typów w stosunki od potrzeb. Wszystkie wierzchołki w ramach danego prymitywu graficznego muszą mieć jednakowy asortyment atrybutów.

Fragmenty to struktury danych reprezentujące pojedyncze piksele na ekranie, które posiadają zinterpolowane liniowo wartości wszystkich atrybutów wierzchołków, na podstawie których zostały zrasteryzowane. Wartości te służą do wyznaczenia ostatecznego koloru danego piksela, a o ile pozwala na to struktura danych danych bufora ramki (ang. framebuffer) i stan potoku graficznego, ponadto kanału alfa, głębokości (moderator Z) bądź innych parametrów.

Rasteryzacja jest procesem rzutowania geometrii przestrzennej na hipotetyczną płaszczyznę reprezentującą moderator ramki. W jej wyniku powstaje odmiana tablicy fragmentów o wymiarach odpowiadających buforowi, które są poddawane dalszej obróbce w celu rozmowy ostatecznych parametrów na rzecz pikseli przeznaczonych do zapisania. Wyliczone wartości zanim ostatecznym zapisem mogą być poddane dodatkowym testom (np. głębokości - to znaczy nie przesłania go bliższy punkt znajdujący się w tej chwili w buforze, szablonu - lub znajduje się w wyciętym obszarze, itp.) a ponadto mieszane (ang. blending) z dotychczasowymi wartościami w buforze.

Rodzaj rzutowania (perspektywiczne czyli równoległe) natomiast jego modus (wypełnione wielokąty czyli reklamówka geometrii), wykonywane testy i ew. podejście mieszania zależą od stanu potoku graficznego.

Występują dwoje rodzaje shaderów vertex shader i fragment shader, które opisują operacje akuratnie na rzecz geometrii i fragmentów. Programy te wykonywane są przez 2 jednostki w potoku graficznym zwane vertex processor i fragment processor, które mogą się ze sobą przesyłać, w sąsiedztwie czym komunikacja ta przebiega przed chwilą w jednym kierunku z vertex procesora do fragment procesora. Wynika to ze sposobu funkcjonowania potoku graficznego, w którym wprzódy dokonywane są wszystkie operacje geometryczne, do tego stopnia żeby być w użyciu wzorzec do rasteryzacji, a później po jej wykonaniu przeprowadza się operacje na zrasteryzowanych fragmentach. Ze względu na niepodobny zakres operacji wykonywanych przez vertex i fragment processor, shadery pisane na rzecz każdego z nich różnią się lekko dialektem, tzn. w oddali podstawowymi konstrukcjami językowymi, które są wspólne w obydwu przypadkach, istnieje część operacji, które są charakterystyczne właśnie na rzecz określonej jednostki.

Wersje i specyfikacje języka

GLSL został wprowadzonym do OpenGL-a przez komisja standaryzacyjny ARB, ustępliwy za progresja tej biblioteki, w wersji 1.5 jak przedłużenie, a od wersji 2.0, po drobnych modyfikacjach, jest częścią podstawowego API.

Ponieważ dyskurs ów zastępuje dużą część dotychczasowej funkcjonalności OpenGL, wprowadzając multum z większym natężeniem plastyczny wzór programowalnego potoku graficznego, zaleca się ażeby nowe aplikacje tworzyć dzieło w oparciu o niego, a dotychczasowe funkcje z tego zakresu, stosować w charakterze warstwę wstecznej kompatybilności w stosunku do wersji 1.x.

O wyraźnym ukierunkowaniu na nieznany metoda pisania programów, być może składać zeznanie spis OpenGL ES 2.0, która zrywa wsteczną adekwatność z serią 1.x, zastępując dotychczasową realizację operacji na wierzchołkach i fragmentach językiem glslang.

Przypisy

  1. ↑ W przyszłych implementacjach przewidywane jest plan nie na piksele przecież na próbki, inaczej na punkty do środka pojedynczego piksela wykorzystywane w procesie antyaliasingu.

Zobacz też

Zobacz publikacjÄ™ na Wikibooks:
OpenGL Shading Language

  • Najnowsza wydanie specyfikacji OpenGL Shading Language
  • GLSL Tutorial
  • Najnowsza wydanie specyfikacji OpenGL

ławki ogrodowe życzenia walentynkowe Umowa Zlecenie Restauracja Kraków zakłady bukmacherskie
teksty piosenek f | nad¿erka | pokoje nad morzem | pensjonaty nad morzem | hotele nad morzem