<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Web3D &#187; podstawy</title>
	<atom:link href="http://web3d.toborowicz.pl/tag/podstawy/feed/" rel="self" type="application/rss+xml" />
	<link>http://web3d.toborowicz.pl</link>
	<description>Portal interaktywnych technologii 3D w Internecie</description>
	<lastBuildDate>Sun, 03 May 2015 18:24:07 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.38</generator>
	<item>
		<title>OpenGL vs Direct3D &#8211; podstawy grafiki 3D, część 6</title>
		<link>http://web3d.toborowicz.pl/grafika-3d/opengl-vs-direct3d-podstawy-grafiki-3d-czesc-6/</link>
		<comments>http://web3d.toborowicz.pl/grafika-3d/opengl-vs-direct3d-podstawy-grafiki-3d-czesc-6/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 13:58:04 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Grafika 3D]]></category>
		<category><![CDATA[grafika 3D]]></category>
		<category><![CDATA[openGL]]></category>
		<category><![CDATA[podstawy]]></category>

		<guid isPermaLink="false">http://web3d.toborowicz.pl/?p=149</guid>
		<description><![CDATA[<a href="http://web3d.toborowicz.pl/grafika-3d/opengl-vs-direct3d-podstawy-grafiki-3d-czesc-6/" title="OpenGL vs Direct3D - podstawy grafiki 3D, część 6"></a>Należy pamiętać, że przedstawiony uprzednio model potoku graficznego jest abstrakcyjnym opisem sposobu działania jednostek przetwarzających grafikę, opartego na tradycyjnym podejściu. Każdego roku na rynku pojawia się nowy sprzęt, który chociaż zachowuje ogólną idee, dodaje nowe funkcje, rozszerza istniejące możliwości i &#8230;<p class="read-more"><a href="http://web3d.toborowicz.pl/grafika-3d/opengl-vs-direct3d-podstawy-grafiki-3d-czesc-6/">Read more &#187;</a></p>]]></description>
	<a href="http://web3d.toborowicz.pl/grafika-3d/opengl-vs-direct3d-podstawy-grafiki-3d-czesc-6/" title="OpenGL vs Direct3D - podstawy grafiki 3D, część 6"></a>			<content:encoded><![CDATA[<p>Należy pamiętać, że przedstawiony uprzednio model potoku graficznego jest abstrakcyjnym opisem sposobu działania jednostek przetwarzających grafikę, opartego na tradycyjnym podejściu. Każdego roku na rynku pojawia się nowy sprzęt, który chociaż zachowuje ogólną idee, dodaje nowe funkcje, rozszerza istniejące możliwości i wprowadza kolejne rozwiązania. Zdarza się, że karty rożnych producentów, wspomagają rożne funkcje, również, kolejne modele jednej firmy są na innym poziomie zaawansowania. Nie byłoby naturalnie możliwe, żeby każdy twórca oprogramowania, dostosowywał je do poszczególnych wersji sprzętu. Istnieje zatem bufor, w postaci interfejsu programistycznego i sterowników sprzętowych.</p>
<p><span id="more-149"></span>Najpopularniejszymi rozwiązaniami pozwalającymi na zunifikowany kontakt oprogramowania ze sprzętem, są Direct3D (<a href="http://msdn.microsoft.com/en-us/directx/aa937781" target="_blank">link</a>) oraz OpenGL (<a href="http://www.opengl.org/" target="_blank">link</a>). Pierwsze z nich jest częścią zestawu bibliotek DirectX firmy Microsoft, który należy pobrać z internetu (niemal zawsze jest też dostarczany z programem który go wykorzystuje) i zainstalować na komputerze. OpenGL korzysta z innego podejścia &#8211; nie istnieje jako niezależny program lub biblioteka, która można pobrać, ale polega na implementacjach producentów sprzętu, które dostarczane są razem ze sterownikami kart graficznych. Odmienność obydwu API nie wynika dziś z istotnych różnic w sferze ich możliwości technicznych &#8211; od początku istnienia obu, nowe możliwości pojawiające się w jednym ze standardów, były wkrótce implementowane w drugim &#8211; widać ja natomiast wyraźnie w kwestii dostępności i wykorzystania.</p>
<p>Przede wszystkim, Direct3D jest własnościowym rozwiązaniem i Microsoft dostarcza je tylko dla systemów z rodziny Windows (w tym Windows Mobile). Co więcej, najnowsze wersje DirectX 10 oraz 11 dostępne są jedynie dla Windows Vista oraz Windows 7 &#8211; podczas gdy jedynie ok. 50% użytkowników korzysta z tych dwóch systemów (reszta rynku wciąż należy do Windows XP) (<a href="http://www.statowl.com/operating_system_market_share_by_os_subversion.php?timeframe=custom%7C2011-05%7C2011-07&amp;interval=month&amp;chart_id=4&amp;fltr_br=&amp;fltr_os=&amp;fltr_se=&amp;fltr_cn=&amp;trends[]=windows%7CXP&amp;trends[]=windows%7C7&amp;trends[]=windows%7CVista&amp;trends[]=windows%7C2000&amp;x=127&amp;y=30" target="_blank">link</a>). Interfejs jest także wykorzystywany w konsolach spod znaku Xbox. OpenGL to API niezależne, nad którym opiekę sprawuje Khronos Group. Posiada implementacje na niemal każdą platformę sprzętową &#8211; nie tylko Windows, ale Mac OS i Unix/Linux również (zastosowania mobilne obsługiwane są przy pomocy OpenGL ES).</p>
<p>Od strony programistycznej, należy zwrócić uwagę na to, że DirectX jest kompletna biblioteka, przeznaczona przede wszystkim do tworzenia gier. Posiada mechanizmy obsługi dźwięku oraz urządzeń wejściowych. Jej architektura jest obiektowa. OpenGL jest natomiast API przystosowanym wyłącznie do generowania grafiki, a do obsługi pobocznych zadań dostępne są oddzielne biblioteki. Rozwiązanie Microsoftu miało w przeszłości dużo bardziej skomplikowana strukturę i postrzegane było jako znacznie trudniejsze do nauczenia się. Szerokim echem odbił się szczególnie list otwarty Johna Carmacka, prekursora i twórcy gier z serii Doom oraz Quake (<a href="http://www.bluesnews.com/archives/carmack122396.html" target="_blank">link</a>), w którym wytykał on wady Direct3D i nie szczędził pochwal dla OpenGL &#8211; wyrażając prawdopodobnie zdanie wielu programistów 3D.</p>
<p>W ciągu paręnastu lat od czasu kiedy list ten został opublikowany, oba interfejsy ewoluowały, wraz z rozwojem możliwości sprzętowych komputerów osobistych. Współczesny rynek komputerowej rozrywki jest zdominowany przez programy korzystające z DirectX (<a href="http://en.wikipedia.org/wiki/List_of_games_with_DirectX_10_support" target="_blank">link</a>), natomiast OpenGL jest wykorzystywany głownie w profesjonalnych aplikacjach do tworzenia trójwymiarowej grafiki (<a href="http://en.wikipedia.org/wiki/List_of_OpenGL_programs" target="_blank">link</a>). Zdążają się też gry korzystające z tego API, natywnie lub konwersjach z Windows na inne platformy. OpenGL jest niezastąpiony, jeśli program wydawany jest na rożne platformy (w tym również mobilne). Pomijając wszelkie „święte wojny” (<a href="http://wiki.gamedev.pl/DirectX_vs_OpenGL" target="_blank">link</a>) oraz doniesienia o nieczystych praktykach Microsoftu w celu zdeklasowania konkurenta (<a href="http://blog.wolfire.com/2010/01/Why-you-should-use-OpenGL-and-not-DirectX" target="_blank">link</a>), OpenGL idealnym rozwiązaniem do zastosowań internetowych, opisywanych w tej pracy.</p>
<ul>
<li>OpenGL: <a href="http://www.opengl.org/" target="_blank">http://www.opengl.org/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://web3d.toborowicz.pl/grafika-3d/opengl-vs-direct3d-podstawy-grafiki-3d-czesc-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rasteryzacja, potok graficzny &#8211; podstawy grafiki 3D, część 5</title>
		<link>http://web3d.toborowicz.pl/grafika-3d/rasteryzacja-potok-graficzny-podstawy-grafiki-3d-czesc-5/</link>
		<comments>http://web3d.toborowicz.pl/grafika-3d/rasteryzacja-potok-graficzny-podstawy-grafiki-3d-czesc-5/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 13:55:23 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Grafika 3D]]></category>
		<category><![CDATA[grafika 3D]]></category>
		<category><![CDATA[podstawy]]></category>

		<guid isPermaLink="false">http://web3d.toborowicz.pl/?p=147</guid>
		<description><![CDATA[<a href="http://web3d.toborowicz.pl/grafika-3d/rasteryzacja-potok-graficzny-podstawy-grafiki-3d-czesc-5/" title="Rasteryzacja, potok graficzny - podstawy grafiki 3D, część 5"></a>Mając zbudowany trójwymiarowy świat, trzeba go jeszcze przekształcić na dwuwymiarowy obraz złożony z pikseli, do wyświetlania których przystosowane są dzisiejsze monitory. Proces ten nazywa się rasteryzacją &#8211; grafika rastrowa to właśnie taka, która przedstawiona jest za pomocą regularnej siatki punktów &#8230;<p class="read-more"><a href="http://web3d.toborowicz.pl/grafika-3d/rasteryzacja-potok-graficzny-podstawy-grafiki-3d-czesc-5/">Read more &#187;</a></p>]]></description>
	<a href="http://web3d.toborowicz.pl/grafika-3d/rasteryzacja-potok-graficzny-podstawy-grafiki-3d-czesc-5/" title="Rasteryzacja, potok graficzny - podstawy grafiki 3D, część 5"></a>			<content:encoded><![CDATA[<p>Mając zbudowany trójwymiarowy świat, trzeba go jeszcze przekształcić na dwuwymiarowy obraz złożony z pikseli, do wyświetlania których przystosowane są dzisiejsze monitory. Proces ten nazywa się rasteryzacją &#8211; grafika rastrowa to właśnie taka, która przedstawiona jest za pomocą regularnej siatki punktów (pikseli), z których każdy ma przyporządkowany kolor. Istnieją rożne techniki pozwalające na optymalizacje tej operacji, jednak podstawowa idea jest podobna dla wszystkich. W przestrzeni ustawiana jest wirtualną kamerę &#8211; zdefiniowany zostaje punkt widoku (ang. view point) oraz kierunek patrzenia. Przed nimi, w prostej linii, umieszczona zostaje płaszczyzna, na której „rejestrowany” będzie obraz &#8211; macierz projekcji będąca siatka pikseli. Rzutowanie następuje wzdłuż prostej, wspólnej dla punktu widoku, renderowanej bryły oraz jednego piksela macierzy projekcji.</p>
<p><span id="more-147"></span>Istnieje wiele zaawansowanych algorytmów pozwalających na otrzymywanie coraz bardziej realistycznych lub bardziej efektownych obrazów. Każdy z nich można zaimplementować pisząc odpowiedni skrypt lub program, jednak ich czas wykonywania może być dosyć długi. Wygenerowanie przez procesor jednego statycznego ujęcia w wysokiej rozdzielczości, do stworzenia którego użyto globalnego oświetlenia z dużą ilością źródeł światła, skomplikowanych materiałów i innych efektów, może trwać zdecydowanie zbyt długo, aby zachować płynność animacji, czyli parędziesiąt klatek na sekundę. Dlatego, znaczna część dzisiejszych komputerów osobistych, jest wyposażona w układy wyspecjalizowane do przetwarzania grafiki (GPU &#8211; ang. graphics processor unit) (<a href="http://www.trochetechniki.pl/Jak-dzialaja-najszybsze-karty-graficzne,t,1443.html" target="_blank">link</a>).</p>
<p>Jednostki takie odciążają główny procesor komputera, a zarazem znacznie przyspieszają niektóre operacje związane z generowaniem grafiki trójwymiarowej, poprzez wykorzystanie sprzętu dedykowanego specjalnie do wykonywania takich działań. Szczegóły sprzętu oraz zastosowane rozwiązania są tajemnicą każdej z firm produkujących karty graficzne, takich jak Intel, nVidia lub AMD/ATI, jednak znany jest ogólny abstrakcyjny model potoku graficznego (ang. graphics pipeline). Potokiem graficznym nazywany jest cały proces generowania grafiki, w trakcie którego z wejściowych danych numerycznych (pozycje wierzchołków, tekstury, źródła światła, materiały) powstaje obraz na ekranie monitora.</p>
<p>Cechą charakterystyczną potoku, jest jego kaskadowość &#8211; wyniki pracy jednego poziomu, staja się danymi wejściowymi kolejnego etapu. Na początku przetwarzane są wierzchołki. Dla każdego wierzchołka ustalane jest miejsce w odniesieniu do wirtualnego punktu widoku, obliczane jest oświetlenie oraz dane niezbędne do korzystania ze współrzędnych UV dla tekstur. Elementy są szeregowane, tak aby można było wyeliminować poligony których użytkownik nie może zobaczyć, ze względu na to, że znajdują się poza polem widzenia, są za daleko lub za blisko. W kolejnych krokach następuje rasteryzacja, czyli zamiana trójwymiarowych obiektów na piksele. Dalsza obróbka pikseli może polegać na nadaniu im odpowiedniego koloru wynikającego z oświetlenia, przezroczystości lub dodatkowych efektów, a w końcu barwy wynikającej z tekstury. Ostatnim krokiem przed wyświetleniem, może być nałożenie filtrów i inna obróbka dwuwymiarowego już obrazu.</p>
<p>Pierwsza generacja akceleratorów graficznych była zaprogramowana na stale, na przykład podczas przetwarzania wierzchołków obliczano tylko oświetlenie jedną metodą (<a href="http://creyavaichxxi.awardspace.com/wordpress/?p=363" target="_blank">link</a>). W nowoczesnych kartach graficznych, poszczególne etapy przetwarzania są dodatkowo modyfikowalne (<a href="http://www.extremetech.com/computing/76562-the-people-behind-directx-10151part-1-microsoft/4" target="_blank">link</a>). Dostępne są tzw. programy cieniujące (ang. shader programs), które pozwalają na modyfikacje parametrów wierzchołków (odpowiedzialny jest za to tzw. vertex shader), a także tworzenie nowych struktur geometrycznych (geometry shader). Za przetwarzanie pikseli odpowiada pixel shader lub fragment shader &#8211; to dzięki niemu możliwy jest na przykład bump mapping.</p>
]]></content:encoded>
			<wfw:commentRss>http://web3d.toborowicz.pl/grafika-3d/rasteryzacja-potok-graficzny-podstawy-grafiki-3d-czesc-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Teksturowanie-podstawy grafiki 3D, część 4</title>
		<link>http://web3d.toborowicz.pl/grafika-3d/teksturowanie-podstawy-grafiki-3d-czesc-4/</link>
		<comments>http://web3d.toborowicz.pl/grafika-3d/teksturowanie-podstawy-grafiki-3d-czesc-4/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 13:53:02 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Grafika 3D]]></category>
		<category><![CDATA[grafika 3D]]></category>
		<category><![CDATA[podstawy]]></category>

		<guid isPermaLink="false">http://web3d.toborowicz.pl/?p=145</guid>
		<description><![CDATA[<a href="http://web3d.toborowicz.pl/grafika-3d/teksturowanie-podstawy-grafiki-3d-czesc-4/" title="Teksturowanie-podstawy grafiki 3D, część 4"></a>Aby jeszcze bardziej podnieść realizm generowanej sceny i wzbogacić ją wizualnie, bez konieczności drastycznego zwieszenia wymaganej ilości obliczeń, trójwymiarowe modele „powleka się” teksturami, czyli nakłada się na nie dwuwymiarową grafikę. Najczęściej wykorzystywaną metodą teksturowania obiektów jest tzw. mapowanie UV (ang. &#8230;<p class="read-more"><a href="http://web3d.toborowicz.pl/grafika-3d/teksturowanie-podstawy-grafiki-3d-czesc-4/">Read more &#187;</a></p>]]></description>
	<a href="http://web3d.toborowicz.pl/grafika-3d/teksturowanie-podstawy-grafiki-3d-czesc-4/" title="Teksturowanie-podstawy grafiki 3D, część 4"></a>			<content:encoded><![CDATA[<p>Aby jeszcze bardziej podnieść realizm generowanej sceny i wzbogacić ją wizualnie, bez konieczności drastycznego zwieszenia wymaganej ilości obliczeń, trójwymiarowe modele „powleka się” teksturami, czyli nakłada się na nie dwuwymiarową grafikę. Najczęściej wykorzystywaną metodą teksturowania obiektów jest tzw. mapowanie UV (ang. UV mapping). Polega ono na tym, że wszystkie wieloboki z których zbudowana jest bryła są „rozkładane” na płaskiej powierzchni, dzięki czemu można każdemu z nich przypisać bitmapowy obraz. Aby informacja o nadanych teksturach zachowana została po ponownym „złożeniu” modelu, każdy wierzchołek otrzymuje dodatkowe współrzędne U i V, określające z którego obszaru mapy, poligon powinien przyjąć teksturę.</p>
<p><span id="more-145"></span>Wszystkie trzy procedury, czyli oświetlenie, cieniowanie oraz teksturowanie, mogą być aplikowane jednocześnie i wzajemnie się uzupełniać. Jednym z zabiegów stosowanym w celu zwiększenia realizmu renderowanych dynamicznie scen, jest mapowani wypukłości (ang. bump mapping) (<a href="http://www.tomshardware.pl/graphic/20010227/geforce3-11.html" target="_blank">link</a>). Można dzięki niemu uzyskać wrażenie „chropowatości” obiektów &#8211; zapobiec efektowi płaskości, który powstaje przy nałożeniu tekstury na gładka ścianę obiektu. We wspomnianym wcześniej modelu cieniowania Phonga, każdy piksel „otrzymywał”, interpolowany z wektorów normalnych wierzchołków wielokąta, własny wektor normalny &#8211; był on wykorzystywany do obliczenia oświetlenia. Podczas bump mappingu, na obiekt, poza zwyczajną graficzną teksturą, nakładana jest mapa wypukłości. Modyfikuje ona interpolowane wektory normalne. W ten sposób, dzięki innemu zachowaniu względem światła, każdy piksel zdaje się być położony odpowiednio, odrobinę wyżej lub niżej &#8211; tym samym symulując drobne wypukłości.</p>
<p>Punkty w przestrzeni, a tym samym także cale obiekty w wirtualnym świecie, mogą naturalnie ulegać zmianom położenia. Można je przesuwać (translacja), skalować lub obracać wokół każdej z trzech osi układu współrzędnych, który może być osadzony w dowolnym miejscu. Matematycznie, operacje te są zazwyczaj opisane przy pomocy iloczynów macierzy. Warto zatem przypomnieć sobie zasady takich działań, jeśli chce się programować rzeczy związane z grafika trójwymiarową.</p>
]]></content:encoded>
			<wfw:commentRss>http://web3d.toborowicz.pl/grafika-3d/teksturowanie-podstawy-grafiki-3d-czesc-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cieniowanie &#8211; podstawy grafiki 3D, część 3</title>
		<link>http://web3d.toborowicz.pl/grafika-3d/cieniowanie-podstawy-grafiki-3d-czesc-3/</link>
		<comments>http://web3d.toborowicz.pl/grafika-3d/cieniowanie-podstawy-grafiki-3d-czesc-3/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 13:50:48 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Grafika 3D]]></category>
		<category><![CDATA[grafika 3D]]></category>
		<category><![CDATA[podstawy]]></category>

		<guid isPermaLink="false">http://web3d.toborowicz.pl/?p=142</guid>
		<description><![CDATA[<a href="http://web3d.toborowicz.pl/grafika-3d/cieniowanie-podstawy-grafiki-3d-czesc-3/" title="Cieniowanie - podstawy grafiki 3D, część 3"></a>W odróżnieniu do przedstawionych wcześniej sposobów aproksymacji zachowania światła, cieniowanie (ang. shading) nie ma bezpośredniego odpowiednika w rzeczywistości. W klasycznym podejściu cieniowaniem nazywamy obliczanie koloru poszczególnych pikseli wyjściowego obrazu. Można to robić na rożne sposoby i jak zwykle, te dające &#8230;<p class="read-more"><a href="http://web3d.toborowicz.pl/grafika-3d/cieniowanie-podstawy-grafiki-3d-czesc-3/">Read more &#187;</a></p>]]></description>
	<a href="http://web3d.toborowicz.pl/grafika-3d/cieniowanie-podstawy-grafiki-3d-czesc-3/" title="Cieniowanie - podstawy grafiki 3D, część 3"></a>			<content:encoded><![CDATA[<p>W odróżnieniu do przedstawionych wcześniej sposobów aproksymacji zachowania światła, cieniowanie (ang. shading) nie ma bezpośredniego odpowiednika w rzeczywistości. W klasycznym podejściu cieniowaniem nazywamy obliczanie koloru poszczególnych pikseli wyjściowego obrazu. Można to robić na rożne sposoby i jak zwykle, te dające lepsza jakość obrazu, pochłaniają większą ilość zasobów. Poniżej opisano te, które stosowane są najczęściej.</p>
<p><span id="more-142"></span>Najprostsze cieniowanie stałe, polega na obliczeniu jednego koloru dla całej powierzchni. Wszystkie piksele zawarte w obrębie ściany budującej daną bryłę otrzymują jednakową barwę i natężenie.</p>
<p>Używając cieniowania Gourauda, należy najpierw obliczyć kolor wierzchołków wielokąta (można do tego użyć dowolnego modelu oświetlenia), a następnie ustalić kolor pikseli miedzy nimi, stosując liniową interpolację. Daje to dobre efekty, pod warunkiem, że nie wykorzystujemy modelu oświetlenia z odblaskiem. Może się wtedy zdarzyć, że w trakcie zmiany orientacji obiektu albo punktu patrzenia, odblask będzie znikał lub pojawiał się, uwidaczniając wielokąty użyte do budowy przybliżonej, zaokrąglonej powierzchni.</p>
<p>Cieniowanie Phonga polega na obliczeniu w wierzchołkach, wektora normalnego do powierzchni wymodelowanego obiektu, a następnie interpolacje takiego wektora dla każdego piksela znajdującego się na wielokącie, miedzy tymi wierzchołkami. Każdy taki wektor używany jest następnie do obliczenia koloru piksela, przy użyciu wybranego modelu oświetlenia. Opisana metoda wymaga naturalnie większej ilości obliczeń, pozwala jednak na otrzymanie wrażenia gładko zaokrąglonych powierzchni, pomimo ze właściwe bryły zbudowane są z „kanciastych” wieloboków.</p>
]]></content:encoded>
			<wfw:commentRss>http://web3d.toborowicz.pl/grafika-3d/cieniowanie-podstawy-grafiki-3d-czesc-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oświetlenie &#8211; podstawy grafiki 3D, część 2</title>
		<link>http://web3d.toborowicz.pl/grafika-3d/oswietlenie-podstawy-grafiki-3d-czesc-2/</link>
		<comments>http://web3d.toborowicz.pl/grafika-3d/oswietlenie-podstawy-grafiki-3d-czesc-2/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 13:48:40 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Grafika 3D]]></category>
		<category><![CDATA[grafika 3D]]></category>
		<category><![CDATA[podstawy]]></category>

		<guid isPermaLink="false">http://web3d.toborowicz.pl/?p=140</guid>
		<description><![CDATA[<a href="http://web3d.toborowicz.pl/grafika-3d/oswietlenie-podstawy-grafiki-3d-czesc-2/" title="Oświetlenie - podstawy grafiki 3D, część 2"></a>Aby wzbogacić obraz &#8211; wprowadzono światło. Dostępnych jest kilka modeli oświetlenia i stosowanych wespół z nimi metod cieniowania. Można je podzielić na algorytmy lokalne, czyli takie w których istotne jest jedynie źródło światła bezpośrednio padające na dana powierzchnie, oraz globalne, &#8230;<p class="read-more"><a href="http://web3d.toborowicz.pl/grafika-3d/oswietlenie-podstawy-grafiki-3d-czesc-2/">Read more &#187;</a></p>]]></description>
	<a href="http://web3d.toborowicz.pl/grafika-3d/oswietlenie-podstawy-grafiki-3d-czesc-2/" title="Oświetlenie - podstawy grafiki 3D, część 2"></a>			<content:encoded><![CDATA[<p>Aby wzbogacić obraz &#8211; wprowadzono światło. Dostępnych jest kilka modeli oświetlenia i stosowanych wespół z nimi metod cieniowania. Można je podzielić na algorytmy lokalne, czyli takie w których istotne jest jedynie źródło światła bezpośrednio padające na dana powierzchnie, oraz globalne, w których uwzględnione jest więcej niż jednokrotne odbicie światła i jego wpływ na cale otoczenie (<a href="http://www.grafika3d.wwsi.edu.pl/index.php?page=gkinfo6" target="_blank">link</a>). Ze względu na złożoność matematyczną oraz dużą liczbę iteracji, modele globalne takie jak śledzenie promieni (ang. ray-tracing) lub metoda energetyczna (ang. radiosity), nie są wykorzystywane w dynamicznie generowanych obrazach. Są natomiast z powodzeniem używane przy tworzeniu bardzo wysokiej jakości statycznych scen oraz prerenderowanych animacji. W rozwiązaniu takim, każda klatka filmu jest wcześniej generowana, a proces taki może zająć wiele czasu i wymaga bardzo wydajnego, specjalistycznego sprzętu.</p>
<p><span id="more-140"></span>W zastosowaniach interaktywnych wykorzystuje się modele empiryczne, które nie odwzorowują fizycznie wiernego zachowania światła, a jedynie przybliżenie (przy czym rozumie się przez to, że przybliżony ma być osiągany efekt, a nie mechanizm działania) (<a href="http://mst.mimuw.edu.pl/lecture.php?lecture=gk1&amp;part=Ch10" target="_blank">link</a>). Poniżej przedstawiono najpopularniejsze z nich.</p>
<p>Oświetlenie bezkierunkowe polega na tym, że każdy element obiektu oświetlany jest jednakowym światłem, bez względu na kąt padania lub odległość. Model taki może w przybliżeniu odpowiadać sytuacji, gdy obiekt jest z każdej strony oświetlany jednorodnym światłem, lub znajduje się w podświetlonym pomieszczeniu o białych ścianach. Jeśli obiekt jest jednokolorowy, traci zupełnie efekt głębi i przedstawia się jako jednokolorowa plama.</p>
<p>Model Lamberta (odbicie lambertowskie) uwzględnia w obliczaniach kąt padania oraz odległość źródła światła od obiektu, pod warunkiem oczywiście, że jest ono punktowe. Kiedy kąt wzrasta &#8211; jasność oświetlanej powierzchni maleje. Model ten opisuje zachowanie światła dla obiektów doskonale rozpraszających bez połysku, takich jak na przykład kreda. Z powodzeniem może być wykorzystywany przy kilka źródłach światła jednocześnie.</p>
<p>Model oświetlenia Phonga wzbogaca poprzednia metodę o składnik opisujący odblask. Intensywność tego zjawiska zależy od kąta miedzy wektorem odbicia padającego światła, a wektorem skierowanym do obserwatora. Został opracowany w 1975 roku przez Phonga Buio-Tuonga. Za pomocą tego modelu można przedstawiać obiekty o rożnym stopniu „wypolerowania” lub błyszczące obiekty „zrobione z plastiku”. Aby dokładniej odwzorować rożne materialny, modyfikować można dwa parametry sterujące matowością oraz połyskiem.</p>
<ul>
<li>Podstawowe modele oświetlenia i metody cieniowania: <a href="http://mst.mimuw.edu.pl/lecture.php?lecture=gk1&amp;part=Ch10" target="_blank">http://mst.mimuw.edu.pl/lecture.php?lecture=gk1∂=Ch10</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://web3d.toborowicz.pl/grafika-3d/oswietlenie-podstawy-grafiki-3d-czesc-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Podstawy generowania interaktywnej grafiki 3D, część 1</title>
		<link>http://web3d.toborowicz.pl/grafika-3d/podstawy-generowania-interaktywnej-grafiki-3d-czesc-1/</link>
		<comments>http://web3d.toborowicz.pl/grafika-3d/podstawy-generowania-interaktywnej-grafiki-3d-czesc-1/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 13:43:50 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Grafika 3D]]></category>
		<category><![CDATA[grafika 3D]]></category>
		<category><![CDATA[podstawy]]></category>

		<guid isPermaLink="false">http://web3d.toborowicz.pl/?p=136</guid>
		<description><![CDATA[<a href="http://web3d.toborowicz.pl/grafika-3d/podstawy-generowania-interaktywnej-grafiki-3d-czesc-1/" title="Podstawy generowania interaktywnej grafiki 3D, część 1"></a>Sformułowanie „grafika trójwymiarowa” lub „grafika 3D”, które pojawia się w tytule oraz wielokrotnie w treści tym serwisie, odnosi się tak na prawdę do symulacji efektu głębi na dwuwymiarowym ekranie monitora. Jak wiadomo, obraz generowany przez komputer składa się z pikseli, &#8230;<p class="read-more"><a href="http://web3d.toborowicz.pl/grafika-3d/podstawy-generowania-interaktywnej-grafiki-3d-czesc-1/">Read more &#187;</a></p>]]></description>
	<a href="http://web3d.toborowicz.pl/grafika-3d/podstawy-generowania-interaktywnej-grafiki-3d-czesc-1/" title="Podstawy generowania interaktywnej grafiki 3D, część 1"></a>			<content:encoded><![CDATA[<p>Sformułowanie „grafika trójwymiarowa” lub „grafika 3D”, które pojawia się w tytule oraz wielokrotnie w treści tym serwisie, odnosi się tak na prawdę do symulacji efektu głębi na dwuwymiarowym ekranie monitora. Jak wiadomo, obraz generowany przez komputer składa się z pikseli, czyli punktów, z których każdy ma jednoznacznie określone współrzędne oraz kolor. Głównym zadaniem oprogramowania, które jest tematem tego opracowania, jest zatem wygenerowanie wirtualnego świata w trzech wymiarach, a następnie rzutowanie go na płaski obraz złożony z pikseli, w sposób analogiczny do tego, jak kamera filmowa przedstawia rzeczywisty świat na płaszczyźnie ekranu kinowego lub telewizyjnego.</p>
<p><span id="more-136"></span>Określenie „grafika 3D”, a konkretnie użyty tutaj skrót 3D (zapisywany również jako 3-D) pochodzi z języka angielskiego, od słów third dimension (trzeci wymiar) lub three-dimensional (trójwymiarowy). Jest ono z powodzeniem używany w języku polskim i odnosi się naturalnie do tworów, które oprócz szerokości i wysokości mają również glebie (nawet, jeśli jest ona tylko symulowana). Prawdziwe obiekty są jednak stworzone z ogromnej ilości atomów, która znacznie przekracza możliwości przetwarzania dzisiejszych układów komputerowych. Potrzebny jest zatem model &#8211; przybliżenie pozwalające na prezentacje rzeczywistych obiektów, przy pomocy rozsądnej ilości dyskretnych danych. W takim takim matematycznym ujęciu, obiekty mogą być umieszczone w przestrzeni euklidesowej z ortogonalnym układem współrzędnych o osiach x, y i z, gdzie każdy punkt opisany jest trzema współrzędnymi: x, y oraz z.</p>
<p>W układzie tym, miedzy dwoma punktami, można poprowadzić dokładnie jedną prostą lub odcinek. Natomiast trzy punkty jednoznacznie określają płaszczyznę, a na niej trójkąt, którego są zarazem wierzchołkami Można z niego stworzyć wieloboki o większej liczbie wierzchołków, a wszystkie one są nazywane poligonami (ang. polygon &#8211; wielokąt, wielobok). Każdy polygon może służyć do budowania trójwymiarowych modeli, jednak to właśnie trójkąt jest podstawowa, najmniejsza jednostka. Obiekt stworzony z poligonów można przedstawić w postaci siatki, lub wypełnić kolorem powierzchnie ograniczone przez boki wielokątów. W ten sposób otrzymać można wizualnie akceptowalne przybliżenie rzeczy i organizmów, występujących w rzeczywistym świecie, które jest matematycznie opisywalne. Jest ono zatem w postaci „rozumianej” przez współczesne komputery, a zarazem rozpoznawalnej przez człowieka</p>
<p>Jednak model złożony z prostych, jednokolorowych wieloboków wygląda co najmniej nierealistycznie i znacznie odbiega od pierwowzoru który ma przedstawiać Sposobem na polepszenie jakości obrazu mogłoby być zwiększenie szczegółowości Jednak to w szybkim czasie doprowadziłoby do wzrostu ilości danych, które muszą być przetworzona przez komputer, do niebotycznych rozmiarów. Wymagania rosną jeszcze bardziej, jeśli wziąć pod uwagę animację. Aby film sprawiał wrażenie płynnego, należy wyświetlać co najmniej 24 klatki na sekundę. Podobnie, interaktywna, kontrolowana przez użytkownika trójwymiarowa animacja, wymaga generowania co najmniej 24 obrazów w ciągu sekundy, a każdy obraz rysowany jest „od zera”. Zamiast więc zwiększać ilości poligonów, stosuje się kilka zabiegów, które pomagają w zbudowaniu wizualnie bardziej realistycznych obrazów, bez drastycznego zwiększania zapotrzebowania na moc obliczeniowa.</p>
]]></content:encoded>
			<wfw:commentRss>http://web3d.toborowicz.pl/grafika-3d/podstawy-generowania-interaktywnej-grafiki-3d-czesc-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
