<?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; java</title>
	<atom:link href="http://web3d.toborowicz.pl/tag/java-2/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>LWJGL &#8211; Lightweight Java Game Library</title>
		<link>http://web3d.toborowicz.pl/java/lwjgl-lightweight-java-game-library/</link>
		<comments>http://web3d.toborowicz.pl/java/lwjgl-lightweight-java-game-library/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 15:02:18 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[lwjgl]]></category>
		<category><![CDATA[openGL]]></category>
		<category><![CDATA[web3d]]></category>

		<guid isPermaLink="false">http://web3d.toborowicz.pl/?p=95</guid>
		<description><![CDATA[<a href="http://web3d.toborowicz.pl/java/lwjgl-lightweight-java-game-library/" title="LWJGL - Lightweight Java Game Library"></a>LWJGL Lightweight Java Game Library (link), chociaż posiada odniesienie do tworzenia gier w nazwie, jest również kompletnym interfejsem dla OpenGL. Korzysta z podobnej struktury kodu źródłowego jak JOGL i aplikacje mogą być w prosty sposób konwertowane między tymi dwoma engine’ami, &#8230;<p class="read-more"><a href="http://web3d.toborowicz.pl/java/lwjgl-lightweight-java-game-library/">Read more &#187;</a></p>]]></description>
	<a href="http://web3d.toborowicz.pl/java/lwjgl-lightweight-java-game-library/" title="LWJGL - Lightweight Java Game Library"></a>			<content:encoded><![CDATA[<p>LWJGL Lightweight Java Game Library (<a href="http://www.lwjgl.org/" target="_blank">link</a>), chociaż posiada odniesienie do tworzenia gier w nazwie, jest również kompletnym interfejsem dla OpenGL. Korzysta z podobnej struktury kodu źródłowego jak JOGL i aplikacje mogą być w prosty sposób konwertowane między tymi dwoma engine’ami, a nawet bezpośrednio z OpenGL. Twórcy skupili się na wydajności i jako cel założyli kompatybilność z OpenGL ES (<a href="http://www.lwjgl.org/wiki/index.php?title=About_LWJGL" target="_blank">link</a>), zatem wersją dla systemów dedykowanych &#8211; stąd wynik rezygnacja z wielowątkowości, bardzo niewielki rozmiar całej biblioteki (ok. 200kB) oraz minimalizm całego projektu.</p>
<ul>
<li>LWJGL &#8211; Lightweight Java Game Library: <a href="http://www.lwjgl.org/" target="_blank">http://www.lwjgl.org/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://web3d.toborowicz.pl/java/lwjgl-lightweight-java-game-library/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JOGL &#8211; Java OpenGL</title>
		<link>http://web3d.toborowicz.pl/java/jogl-java-opengl/</link>
		<comments>http://web3d.toborowicz.pl/java/jogl-java-opengl/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 15:00:28 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jogl]]></category>
		<category><![CDATA[openGL]]></category>
		<category><![CDATA[web3d]]></category>

		<guid isPermaLink="false">http://web3d.toborowicz.pl/?p=93</guid>
		<description><![CDATA[<a href="http://web3d.toborowicz.pl/java/jogl-java-opengl/" title="JOGL - Java OpenGL"></a>JOGL &#8211; czyli Java OpenGL (link) &#8211; jest projektem rozwijanym pod opieką Sun Microsystem i został zaproponowany jako oficjalny wzór interfejsu między Javą a OpenGL SE (link) &#8211; istnieje zatem szansa, że stanie się integralną częścią kolejnego (lub co bardziej &#8230;<p class="read-more"><a href="http://web3d.toborowicz.pl/java/jogl-java-opengl/">Read more &#187;</a></p>]]></description>
	<a href="http://web3d.toborowicz.pl/java/jogl-java-opengl/" title="JOGL - Java OpenGL"></a>			<content:encoded><![CDATA[<p>JOGL &#8211; czyli Java OpenGL (<a href="http://jogamp.org/" target="_blank">link</a>) &#8211; jest projektem rozwijanym pod opieką Sun Microsystem i został zaproponowany jako oficjalny wzór interfejsu między Javą a OpenGL SE (<a href="http://jcp.org/en/jsr/detail?id=231" target="_blank">link</a>) &#8211; istnieje zatem szansa, że stanie się integralną częścią kolejnego (lub co bardziej prawdopodobne, któregoś z kolejnych) oficjalnego wydania Javy. Część kodu źródłowego JOGL zostało wygenerowane automatycznie z języka C, który jest natywny dla OpenGL, przy pomocy narzędzia GlueGen (<a href="http://jogamp.org/gluegen/www/" target="_blank">link</a>). Zapewnia to dużą wydajność tworzonych aplikacji, gdyż polecania przekazywane są do OpenGL w stosunku 1:1 &#8211; bez dodatkowego narzutu. Z drugiej jednak strony, tracona jest obiektowa struktura, naturalna dla programów pisanych w Javie.</p>
<ul>
<li>Jogamp: <a href="http://jogamp.org/" target="_blank">http://jogamp.org/</a></li>
<li>JSR 231: Java Binding for the OpenGL API: <a href="http://jcp.org/en/jsr/detail?id=231" target="_blank">http://jcp.org/en/jsr/detail?id=231</a></li>
<li>Gluegen: <a href="http://jogamp.org/gluegen/www/" target="_blank">http://jogamp.org/gluegen/www/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://web3d.toborowicz.pl/java/jogl-java-opengl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stratra 3D</title>
		<link>http://web3d.toborowicz.pl/java/stratra-3d/</link>
		<comments>http://web3d.toborowicz.pl/java/stratra-3d/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 14:58:17 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[strata3d]]></category>
		<category><![CDATA[web3d]]></category>

		<guid isPermaLink="false">http://web3d.toborowicz.pl/?p=91</guid>
		<description><![CDATA[<a href="http://web3d.toborowicz.pl/java/stratra-3d/" title="Stratra 3D"></a>Strata (link) to komercyjny engine, który również nie wymaga wsparcia dla OpenGL, aby wyświetlać trójwymiarowe treści. Strata Live 3D (link) jest programem, który pozwala na wizualne edycję, a także interaktywną animację i prostą publikację apletów do sieci, dzięki możliwości umieszczenia &#8230;<p class="read-more"><a href="http://web3d.toborowicz.pl/java/stratra-3d/">Read more &#187;</a></p>]]></description>
	<a href="http://web3d.toborowicz.pl/java/stratra-3d/" title="Stratra 3D"></a>			<content:encoded><![CDATA[<p>Strata (<a href="http://www.strata.com/" target="_blank">link</a>) to komercyjny engine, który również nie wymaga wsparcia dla OpenGL, aby wyświetlać trójwymiarowe treści. Strata Live 3D (<a href="http://www.strata.com/products/strata_3d_cx_suite/strata_live_3d_cx/" target="_blank">link</a>) jest programem, który pozwala na wizualne edycję, a także interaktywną animację i prostą publikację apletów do sieci, dzięki możliwości umieszczenia ich na serwerze producenta, a następnie osadzenia na stronie przy pomocy krótkiego kodu HTML. Aplikacja posiada funkcję optymalizacji i kompresji wyświetlanego modelu, a pozostałe oprogramowanie z rodziny Strata 3D oferuje bogaty wachlarz narzędzi, na przykład automatyczną generację trójwymiarowego, teksturowanego obiektu na podstawie serii zdjęć.</p>
<ul>
<li>Strata: <a href="http://www.strata.com/" target="_blank">http://www.strata.com/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://web3d.toborowicz.pl/java/stratra-3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3DzzD</title>
		<link>http://web3d.toborowicz.pl/java/3dzzd/</link>
		<comments>http://web3d.toborowicz.pl/java/3dzzd/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 14:56:51 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[3dzzd]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[web3d]]></category>

		<guid isPermaLink="false">http://web3d.toborowicz.pl/?p=89</guid>
		<description><![CDATA[<a href="http://web3d.toborowicz.pl/java/3dzzd/" title="3DzzD"></a>Kolejnym silnikiem jest rozwijany od kilku lat 3DzzD (link). Do działania wymaga jedynie Javy w wersji 1.1 i umożliwia generowanie trójwymiarowej, interaktywnej grafiki bez pomocy OpenGL (chociaż taka opcja jest również możliwa, przy pomocy biblioteki JOGL). 3DzzD jest projektem rozwijanym &#8230;<p class="read-more"><a href="http://web3d.toborowicz.pl/java/3dzzd/">Read more &#187;</a></p>]]></description>
	<a href="http://web3d.toborowicz.pl/java/3dzzd/" title="3DzzD"></a>			<content:encoded><![CDATA[<p>Kolejnym silnikiem jest rozwijany od kilku lat 3DzzD (<a href="http://dzzd.net/" target="_blank">link</a>). Do działania wymaga jedynie Javy w wersji 1.1 i umożliwia generowanie trójwymiarowej, interaktywnej grafiki bez pomocy OpenGL (chociaż taka opcja jest również możliwa, przy pomocy biblioteki JOGL). 3DzzD jest projektem rozwijanym przez jedną osobę i tym prawdopodobnie można wytłumaczyć fakt, że jest kiepsko udokumentowany, a jego strona domowa nie ułatwia rozpoczęcia korzystania z oprogramowania. Okazuje się jednak, że po pokonaniu początkowych barier, jest to rozwiązanie godne odrobiny uwagi, chociażby ze względu na ciekawa aplikacje on-line, która umożliwia załadowanie modelu 3D, tekstur i wygenerowanie prostego apletu pozwalającego na wyświetlenie obiektu.</p>
<ul>
<li>3DzzD: <a href="http://dzzd.net/" target="_blank">http://dzzd.net/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://web3d.toborowicz.pl/java/3dzzd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jReality</title>
		<link>http://web3d.toborowicz.pl/java/jreality/</link>
		<comments>http://web3d.toborowicz.pl/java/jreality/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 14:55:18 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jreality]]></category>
		<category><![CDATA[web3d]]></category>

		<guid isPermaLink="false">http://web3d.toborowicz.pl/?p=87</guid>
		<description><![CDATA[<a href="http://web3d.toborowicz.pl/java/jreality/" title="jReality"></a>jReality (link) jest narzędziem do trójwymiarowej wizualizacji (a także sonifikacji, gdyż jReality oferuje wsparcie dla obsługi dźwięku), które powstało na wydziale matematyki Technicznego Uniwersytetu w Berlinie. Projekt ten przeznaczony jest do zastosowań naukowych &#8211; w prosty sposób pozwala miedzy innymi &#8230;<p class="read-more"><a href="http://web3d.toborowicz.pl/java/jreality/">Read more &#187;</a></p>]]></description>
	<a href="http://web3d.toborowicz.pl/java/jreality/" title="jReality"></a>			<content:encoded><![CDATA[<p>jReality (<a href="http://www3.math.tu-berlin.de/jreality/index.php" target="_blank">link</a>) jest narzędziem do trójwymiarowej wizualizacji (a także sonifikacji, gdyż jReality oferuje wsparcie dla obsługi dźwięku), które powstało na wydziale matematyki Technicznego Uniwersytetu w Berlinie. Projekt ten przeznaczony jest do zastosowań naukowych &#8211; w prosty sposób pozwala miedzy innymi na wyświetlenie oraz manipulacje w przestrzeni trójwymiarowej obiektów opisanych funkcjami matematycznymi. Poza ta specjalizacja, API nadaje się do wielorakich zastosowań i jest solidnym, wciąż rozwijanym silnikiem, do którego twórcy oferują obszerny zestaw tutoriali.</p>
<ul>
<li>jReality: <a href="http://www3.math.tu-berlin.de/jreality/index.php" target="_blank">http://www3.math.tu-berlin.de/jreality/index.php</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://web3d.toborowicz.pl/java/jreality/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aviatrix 3D</title>
		<link>http://web3d.toborowicz.pl/java/aviatrix-3d/</link>
		<comments>http://web3d.toborowicz.pl/java/aviatrix-3d/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 14:53:55 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[aviatrix3d]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[web3d]]></category>

		<guid isPermaLink="false">http://web3d.toborowicz.pl/?p=85</guid>
		<description><![CDATA[<a href="http://web3d.toborowicz.pl/java/aviatrix-3d/" title="Aviatrix 3D"></a>Aviatrix3D (link) stworzony został z myślą o wizualizacjach i symulatorach (obsługa niestandardowych wyświetlaczy). Minimalistyczne API, dające nieograniczony dostęp do potoku renderującego OpenGL. Jak piszą twórcy na stronie domowej produktu „Dajemy Ci sznur, stołek i wskażemy drzewo. (&#8230;) Jeśli na prawdę &#8230;<p class="read-more"><a href="http://web3d.toborowicz.pl/java/aviatrix-3d/">Read more &#187;</a></p>]]></description>
	<a href="http://web3d.toborowicz.pl/java/aviatrix-3d/" title="Aviatrix 3D"></a>			<content:encoded><![CDATA[<p>Aviatrix3D (<a href="http://aviatrix3d.j3d.org/index.html" target="_blank">link</a>) stworzony został z myślą o wizualizacjach i symulatorach (obsługa niestandardowych wyświetlaczy). Minimalistyczne API, dające nieograniczony dostęp do potoku renderującego OpenGL. Jak piszą twórcy na stronie domowej produktu „Dajemy Ci sznur, stołek i wskażemy drzewo. (&#8230;) Jeśli na prawdę chcesz wszystko spaprać, nie będziemy Cie powstrzymywać” (tłumaczenie własne). Zarazem jednak, jeśli znasz się na rzeczy i chcesz wykorzystać te wiedzę, Aviatrix3D jest tak zaprojektowany, żebyś mógł całkowicie kontrolować proces renderowania, a nawet korzystać bezpośrednio z komend OpenGL.</p>
<ul>
<li>Aviatrix 3D: <a href="http://aviatrix3d.j3d.org/index.html" target="_blank">http://aviatrix3d.j3d.org/index.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://web3d.toborowicz.pl/java/aviatrix-3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ardor 3D</title>
		<link>http://web3d.toborowicz.pl/java/ardor-3d/</link>
		<comments>http://web3d.toborowicz.pl/java/ardor-3d/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 14:52:24 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[ardor3d]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jmonkey]]></category>
		<category><![CDATA[web3d]]></category>

		<guid isPermaLink="false">http://web3d.toborowicz.pl/?p=83</guid>
		<description><![CDATA[<a href="http://web3d.toborowicz.pl/java/ardor-3d/" title="Ardor 3D"></a>Z jMonkey wywodzi się inny popularny engine Ardor3D (link). Odłączenie się od jMonkey i powołanie do życia niezależnego projektu podyktowane było chęcią stworzenia bardziej profesjonalnie zorientowanego (tzn. nastawionego nie tylko na tworzenie gier) API. W internecie trudno znaleźć poradniki omawiające &#8230;<p class="read-more"><a href="http://web3d.toborowicz.pl/java/ardor-3d/">Read more &#187;</a></p>]]></description>
	<a href="http://web3d.toborowicz.pl/java/ardor-3d/" title="Ardor 3D"></a>			<content:encoded><![CDATA[<p>Z jMonkey wywodzi się inny popularny engine Ardor3D (<a href="http://www.ardor3d.com/" target="_blank">link</a>). Odłączenie się od jMonkey i powołanie do życia niezależnego projektu podyktowane było chęcią stworzenia bardziej profesjonalnie zorientowanego (tzn. nastawionego nie tylko na tworzenie gier) API. W internecie trudno znaleźć poradniki omawiające różnorodne funkcje zaimplementowane w Ardor3D, jednak twórcy udostępniają na stronie domowej projektu wiele przykładów, co na pewno przypadnie do gustu programistom lubiącym uczyć się poprzez analizę kodu źródłowego. Najnowsza wersja umożliwia tworzenie przy pomocy Ardor3D oprogramowania na mobilną platformę Android.</p>
<ul>
<li>Ardor 3D: <a href="http://www.ardor3d.com/" target="_blank">http://www.ardor3d.com/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://web3d.toborowicz.pl/java/ardor-3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jMonkey Engine</title>
		<link>http://web3d.toborowicz.pl/java/jmonkey-engine/</link>
		<comments>http://web3d.toborowicz.pl/java/jmonkey-engine/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 14:49:08 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jmonkey]]></category>
		<category><![CDATA[web3d]]></category>

		<guid isPermaLink="false">http://web3d.toborowicz.pl/?p=80</guid>
		<description><![CDATA[<a href="http://web3d.toborowicz.pl/java/jmonkey-engine/" title="jMonkey Engine"></a>Jednym z najpopularniejszych rozwiązań służących do tworzenia oprogramowania w języku Java, wykorzystującego wysokiej jakości trójwymiarowa grafikę, jest jMonkey. Jest to właściwie cały pakiet (SDK &#8211; Software Development Kit), ukierunkowany na tworzenia gier silnik, oferowany pod nazwa jMonkey Engine (link), do &#8230;<p class="read-more"><a href="http://web3d.toborowicz.pl/java/jmonkey-engine/">Read more &#187;</a></p>]]></description>
	<a href="http://web3d.toborowicz.pl/java/jmonkey-engine/" title="jMonkey Engine"></a>			<content:encoded><![CDATA[<p>Jednym z najpopularniejszych rozwiązań służących do tworzenia oprogramowania w języku Java, wykorzystującego wysokiej jakości trójwymiarowa grafikę, jest jMonkey. Jest to właściwie cały pakiet (SDK &#8211; Software Development Kit), ukierunkowany na tworzenia gier silnik, oferowany pod nazwa jMonkey Engine (<a href="http://jmonkeyengine.com/" target="_blank">link</a>), do którego istnieje zintegrowane środowisko programistyczne (IDE &#8211; Integrated Development Environment) wraz z wizualnym edytorem jMonkey Platform (<a href="http://jmonkeyengine.org/wiki/doku.php/sdk" target="_blank">link</a>). Całość udostępniona jest na licencji New BSD (<a href="http://opensource.org/licenses/bsd-license.php" target="_blank">link</a>), jest to zatem oprogramowanie otwarte.</p>
<p><span id="more-80"></span>jMonkey działa na wszystkich maszynach które obsługują OpenGL 2 i wykorzystuje do tego bibliotekę LWJGL. Architektura silnika pozwala na korzystanie z programów cieniujących i zaawansowanego modelu oświetlenia, a także z cząsteczek oraz dwuwymiarowego post-processingu (obróbki poszczególnych ramek po ich wyrenderowaniu). Ponadto jMonkey oferuje wiele funkcji przydatnych przy tworzeniu gier, takich jak model fizyki świata, wspomaganie dla obsługi wielu graczy poprzez sieć, narzędziem do tworzenia graficznego interfejsu użytkownika Twórcy chwalą się funkcjami ułatwiającymi generowanie terenu, a także wsparciem dla rożnych urządzeń sterujących</p>
<p>Nie bez znaczenia jest fakt, że cały engine jest dobrze udokumentowany, oraz dostępne są poradniki dla początkujących. jMonkey skupia się na łatwym i szybkim tworzeniu oprogramowania &#8211; może więc być dobrym rozwiązaniem dla wszystkich którzy chcą rozpocząć karierę twórcy gier. Wywołanie jednej metody simpleInitApp() powoduje ustawienie najprostszego środowiska, w którym zdefiniowane są klawisze służące do „chodzenia”, ruch myszą steruje kamera, a obiekt dodany do grafu sceny od razu widoczny jest na ekranie. jMonkey nie gorzej sprawdza się w zaawansowanych projektach, czego przykładem są aplikacje, w których silnik został zastosowywany (<a href="http://jmonkeyengine.com/" target="_blank">link</a>).</p>
<ul>
<li>jMonkey Engine: <a href="http://jmonkeyengine.com/" target="_blank">http://jmonkeyengine.com/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://web3d.toborowicz.pl/java/jmonkey-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xith 3D</title>
		<link>http://web3d.toborowicz.pl/java/xith-3d/</link>
		<comments>http://web3d.toborowicz.pl/java/xith-3d/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 14:47:38 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[web3d]]></category>
		<category><![CDATA[xith3d]]></category>

		<guid isPermaLink="false">http://web3d.toborowicz.pl/?p=78</guid>
		<description><![CDATA[<a href="http://web3d.toborowicz.pl/java/xith-3d/" title="Xith 3D"></a>Xith3D (link) jest interfejsem bardzo podobnym do Java 3D, jednak znacznie wydajniejszym. Przyspieszenie osiągnięto prawdopodobnie dzięki rezygnacji z wielowątkowości i skupieniu się na optymalizacji wyświetlania w jednym wątku. Istotna zaleta tego API jest fakt, że pozwala na ingerencje w proces &#8230;<p class="read-more"><a href="http://web3d.toborowicz.pl/java/xith-3d/">Read more &#187;</a></p>]]></description>
	<a href="http://web3d.toborowicz.pl/java/xith-3d/" title="Xith 3D"></a>			<content:encoded><![CDATA[<p>Xith3D (<a href="http://xith.org/" target="_blank">link</a>) jest interfejsem bardzo podobnym do Java 3D, jednak znacznie wydajniejszym. Przyspieszenie osiągnięto prawdopodobnie dzięki rezygnacji z wielowątkowości i skupieniu się na optymalizacji wyświetlania w jednym wątku. Istotna zaleta tego API jest fakt, że pozwala na ingerencje w proces renderowania obrazu. Xith3D, podobnie jak Java 3D obecnie straciły na dynamice rozwoju i wydaja się być w stagnacji, nie mniej są wciąż ciekawa alternatywa, a ich bliskie pokrewieństwo sprawia, że niektóre przykłady i tutoriale działają na obu platformach.</p>
<ul>
<li>Xith 3D: <a href="http://xith.org/" target="_blank">http://xith.org/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://web3d.toborowicz.pl/java/xith-3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java 3D</title>
		<link>http://web3d.toborowicz.pl/java/java-3d/</link>
		<comments>http://web3d.toborowicz.pl/java/java-3d/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 14:43:12 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[hello world]]></category>
		<category><![CDATA[historia]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[java3d]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[web3d]]></category>

		<guid isPermaLink="false">http://web3d.toborowicz.pl/?p=74</guid>
		<description><![CDATA[<a href="http://web3d.toborowicz.pl/java/java-3d/" title="Java 3D"></a>Historycznie pierwszym i najbliżej związanym z Java interfejsem programistycznym jest Java 3D. Projekt zapoczątkowany był przez Sun i innych liderów branży programistycznej, a jego pierwsza wersja została udostępniona publiczności w 1998 roku. Na początku roku 2000, rozwój Java 3D został &#8230;<p class="read-more"><a href="http://web3d.toborowicz.pl/java/java-3d/">Read more &#187;</a></p>]]></description>
	<a href="http://web3d.toborowicz.pl/java/java-3d/" title="Java 3D"></a>			<content:encoded><![CDATA[<p>Historycznie pierwszym i najbliżej związanym z Java interfejsem programistycznym jest Java 3D. Projekt zapoczątkowany był przez Sun i innych liderów branży programistycznej, a jego pierwsza wersja została udostępniona publiczności w 1998 roku. Na początku roku 2000, rozwój Java 3D został zaniechany na rzecz wciąż rozwijanego projektu JavaFX, którego głównym przeznaczeniem są tzw. bogate aplikacje internetowe (RIA &#8211; Rich Internet Applications). W 2008 roku producent udostępnia kod źródłowy biblioteki na licencji GPL (<a href="http://www.java.net/node/666487" target="_blank">link</a>) i od tego momentu projekt rozwijany jest przez społeczność skupiona wokół Sun oraz Javy.</p>
<p><span id="more-74"></span>Java 3D (<a href="http://java3d.java.net/" target="_blank">link</a>) jest darmowa biblioteka służącą do generowania obrazów 3D, która wykorzystuje graf sceny do organizacji wirtualnych obiektów, które są następnie rysowane na ekranie. Rozszerzenie to zostało zaprojektowane w taki sposób, aby moc obsłużyć zarówno wizualizacje prostych obiektów, jak i tworzenie zaawansowanych gier (<a href="http://java.sun.com/developer/onlineTraining/java3d/j3d_tutorial_ch1.pdf" target="_blank">link</a>). Java 3D przede wszystkim zajmuje się logika aplikacji i uporządkowaniem trójwymiarowych obiektów, natomiast obraz generowany jest przy pomocy narzędzi niskiego poziomu &#8211; OpenGL lub Direct3D. Zastosowanie tych standardów umożliwia korzystanie z dobrodziejstw sprzętowej akceleracji (<a href="http://www.cc.com.pl/pl/newsrel/g3d/artykul_java_3d.pdf" target="_blank">link</a>). Ponadto biblioteka umożliwia obsługę wielu wyświetlaczy, programów cieniujących (programable shaders), a także dźwięku przestrzennego.</p>
<p>Należy pamiętać, że Java 3D, chociaż nie daje zupełnej kontroli nad samym procesem generowania obrazu, jest pełnokrwistym językiem programowania. Pozwala na wykorzystywanie zaawansowanych struktur danych i architektury obiektowej. Z jednaj strony daje to nieograniczone możliwości, z drugiej jednak, każda aplikacja obarczona jest charakterystycznym dla Javy narzutem w warstwie abstrakcji, który wzmaga się wraz ze wzrostem komplikacji programu. Na stronie domowej projektu dostępna jest pełną dokumentacja (<a href="http://java3d.java.net/" target="_blank">link</a>), można również znaleźć kilka oficjalnych tutoriali (<a href="http://www.java3d.org/tutorial.html" target="_blank">link</a>), chociaż całość zdaje się być odrobinę zapomniana i zaniedbana, o czym świadczyć może wiele niedziałających odnośników Przykładowy program z oficjalnego poradnika Java 3D (<a href="http://www.java3d.org/tutorial.html" target="_blank">link</a>) rysujący oświetloną kule.</p>
<pre>        1     import com.sun.j3D.utils.geometry.*;
        2     import com.sun.j3D.utils.universe.*;
        3     import Javax.media.j3D.*;
        4     import Javax.vecmath.*;
        5     public class Ball {
        6       public Ball() {
        7         // tworzymy Wszechświat
        8         SimpleUniverse universe = new SimpleUniverse();
        9         // tworzymy strukturę, która będzie zawierać obiekty
        10        BranchGroup group = new BranchGroup();
        11        // tworzymy kulę i dodajemy ją do grupy obiektów
        12        Sphere sphere = new Sphere(0.5f);
        13        group.addChild(sphere);
        14        // tworzymy czerwone światło
        15        Color3f light1Color = new Color3f(1.8f, 0.1f, 0.1f);
        16        BoundingSphere bounds =
        17        new BoundingSphere(new Point3D(0.0,0.0,0.0), 100.0);
        18        Vector3f light1Direction = new Vector3f(4.0f, -7.0f, -12.0f);
        19        DirectionalLight light1
        20  	      = new DirectionalLight(light1Color, light1Direction);
        21        light1.setInfluencingBounds(bounds);
        22        group.addChild(light1);
        23        // ustawiamy widok w kierunku kuli
        24        universe.getViewingPlatform().setNominalViewingTransform();
        25        // dodajemy stworzoną grupę obiektów do Wszechświatu
        26        universe.addBranchGraph(group);
        27      }
        28      public static void main(String[]args) { new Ball(); }
        29      }</pre>
<ul>
<li>Java 3D: <a href="http://java3d.java.net/" target="_blank">http://java3d.java.net/</a></li>
<li>Getting Started with the Java 3D API: <a href="http://java.sun.com/developer/onlineTraining/java3d/j3d_tutorial_ch1.pdf" target="_blank">http://java.sun.com/developer/onlineTraining/java3d/j3d_tutorial_ch1.pdf</a></li>
<li>Java 3D Tutorial: <a href="http://www.java3d.org/tutorial.html" target="_blank">http://www.java3d.org/tutorial.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://web3d.toborowicz.pl/java/java-3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java, czyli jak wirtualna maszyna radzi sobie z Web3D</title>
		<link>http://web3d.toborowicz.pl/java/java-czyli-jak-wirtualna-maszyna-radzi-sobie-z-web3d/</link>
		<comments>http://web3d.toborowicz.pl/java/java-czyli-jak-wirtualna-maszyna-radzi-sobie-z-web3d/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 14:32:33 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[espresso3d]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jview]]></category>
		<category><![CDATA[web3d]]></category>

		<guid isPermaLink="false">http://web3d.toborowicz.pl/?p=72</guid>
		<description><![CDATA[<a href="http://web3d.toborowicz.pl/java/java-czyli-jak-wirtualna-maszyna-radzi-sobie-z-web3d/" title="Java, czyli jak wirtualna maszyna radzi sobie z Web3D"></a>Java nie jest przeznaczona wyłącznie do zastosowań internetowych &#8211; z powodzeniem można w tym języku tworzyć aplikacje lokalne. Jednak ze względu na swoja strukturę oraz założenia które przyświecały jej twórcom, doskonale nadaje się do wykorzystania w sieci. Kod źródłowy programów &#8230;<p class="read-more"><a href="http://web3d.toborowicz.pl/java/java-czyli-jak-wirtualna-maszyna-radzi-sobie-z-web3d/">Read more &#187;</a></p>]]></description>
	<a href="http://web3d.toborowicz.pl/java/java-czyli-jak-wirtualna-maszyna-radzi-sobie-z-web3d/" title="Java, czyli jak wirtualna maszyna radzi sobie z Web3D"></a>			<content:encoded><![CDATA[<p>Java nie jest przeznaczona wyłącznie do zastosowań internetowych &#8211; z powodzeniem można w tym języku tworzyć aplikacje lokalne. Jednak ze względu na swoja strukturę oraz założenia które przyświecały jej twórcom, doskonale nadaje się do wykorzystania w sieci. Kod źródłowy programów napisanych w Javie jest kompilowany do uniwersalnego formatu &#8211; poleceń dla maszyny wirtualnej. Tak skompilowany program jest następnie wykonywany przez interpreter Javy. Dopiero interpreter przekłada polecenia maszyny wirtualnej na instrukcje niskiego poziomu, charakterystyczne dla danej platformy, na której uruchamiana jest aplikacja. Główną zaletą takiego rozwiązania jest fakt, że raz napisany kod jest przenośny. Program, może być uruchamiany na dowolnej platformie, pod warunkiem, że istnieje dla niej interpreter Javy. Założenie takie jest szczególnie istotne, jeśli wziąć pod uwagę aplikacje osadzone na stronach internetowych, które mogą być przecież oglądane pod różnymi systemami operacyjnymi, na sprzęcie o rozmaitych architekturach.</p>
<p><span id="more-72"></span>O ile Java wywodzi się z potrzeby tworzenia małych aplikacji webowych (<a href="http://www.java.net/pub/pq/101" target="_blank">link</a>), a jej związek z internetem i zastosowaniami sieciowymi był od początku pielęgnowany, to wykorzystanie języka do tworzenia trójwymiarowej grafiki było traktowane marginalnie. Java posiada wydajny komponent Canvas, który umożliwia generowania obrazów 2D, jednak klasy służące do kompleksowej obsługi obiektów 3D nigdy nie weszły do podstawowej dystrybucji. Interfejs programistyczny Java 3D rozwijany jest jako niezależny projekt pod opieka Sun. Co za tym idzie, wymaga on pobrania przed pierwszym użyciem. Podejście takie, a także prawie dwuletnia przerwa w pracy nad projektem (<a href="http://home.java.net/node/646707" target="_blank">link</a>), sprawiły, że na rynku pojawiły się inne konkurencyjne biblioteki &#8211; zarówno wyspecjalizowane, jak i bardziej uniwersalne.</p>
<p>Wszystkie rozwiązania które zostaną zaprezentowane korzystają naturalnie z dobrodziejstw, ale również podlegają ograniczeniom narzuconym przez Javę. Są to zatem technologie obiektowe, zazwyczaj wysokiego poziomu &#8211; pozwalające się skupić na logice aplikacji, a nie na niuansach związanych ze sprzętem i sposobem wyświetlania na nim obrazów. W teorii, wszystkie aplikacje, napisane z dodatkiem jednego z wybranych API, powinny być uruchamiane na każdym sprzęcie wyposażonym w wirtualna maszynę Javy w odpowiedniej wersji. Przedstawione biblioteki wspierają wersje środowiska, przeznaczona na urządzenia stacjonarne (Java Standard Edition). Urządzenia mobilne korzystają z Java ME (Micro Edition), która posiada osobne API do generowania grafiki 3D.</p>
<p>Pomimo tak ogromnych możliwości i bogatej oferty rozwiązań pomagających w dostarczeniu interaktywnej, trójwymiarowej grafiki, Java nie jest powszechnie wykorzystywaną technologią na stronach WWW. Pomijając kilka rozległych projektów takich jak Minecraft (<a href="http://www.minecraft.net/" target="_blank">link</a>), Nord (<a href="http://nordgame.com/" target="_blank">link</a>), czy Tribal Trouble (<a href="http://www.tribaltrouble.com/" target="_blank">link</a>), które równie dobrze mogłyby być niezależnymi od przeglądarki programami (i jako takie mogą być uruchomione), Javę na komercyjnych stronach internetowych spotyka się sporadycznie. Może to wynikać z kilku powodów.</p>
<p>Po pierwsze, załadowanie apletu zajmuje dużo czasu, szczególnie przy pierwszym uruchomieniu wirtualnej maszyny Java oraz kiedy występuje konieczność doładowania zewnętrznych bibliotek. Okres oczekiwania na uruchomienie apletu znacznie zmalał, w porównaniu do starszych wersji, wciąż jednak może trwać do kilkudziesięciu sekund.</p>
<p>Innym czynnikiem który może odstraszać autorów od publikacji swoich realizacji przy pomocy Javy, jest niska penetracja rynku. Według różnych badań, Wirtualna Maszyna Javy jest obecna na 65% (<a href="http://www.riastats.com/" target="_blank">link</a>) do 75% (<a href="http://www.statowl.com/plugin_overview.php?1=1&amp;&amp;interval=month&amp;chart_id=11&amp;fltr_br=&amp;fltr_os=&amp;fltr_se=&amp;fltr_cn=&amp;unlock_date=1&amp;timeframe=custom%7C2010-05%7C2011-05" target="_blank">link</a>) komputerów stacjonarnych mających dostęp do internetu. To bardzo dużo w porównaniu do rozszerzeń, które użytkownik musi samodzielnie instalować, jednak zbyt mało dla twórców, którzy chcą używać Javy na przykład do umieszczania ozdobnych elementów nawigacyjnych lub reklam na stronie.</p>
<p>Istnieją również pewne uprzedzenia na temat Javy, które nie koniecznie są prawdziwe w odniesieniu do najnowszych wersji, ale były niebezpodstawne w początkach istnienia oprogramowania i zostały utrwalone w obiegowej opinii. Można tu wymienić bardzo niską stabilność i wydajność aplikacji, bardzo długi czas ładowania, a także brak kompatybilności między maszynami wirtualnymi wydawanymi przez różnych producentów, w szczególności problemy ze środowiskiem oferowanym przez Microsoft (<a href="http://stackoverflow.com/questions/816428/java-applets-vs-silverlight-vs-flash-flex" target="_blank">link</a>). Nie bez znaczenia, przede wszystkim w przypadku początkujących użytkowników, były niepokojące komunikaty towarzyszące uruchamianiu apletu.</p>
<p class="paragraph">Poza projektami które są na bieżąco rozwijane i szeroko wykorzystywane, w internecie można natrafić na ślady inicjatyw, które zostały zaniechane &#8211; co nie oznacza koniecznie, że nie nadają się do użytku Do grupy tej można zaliczyć Espresso3D (<a href="http://www.espresso3d.com/index.php" target="_blank">link</a>) &#8211; wydajny engine z obsługa dźwięku i wykrywaniem kolizji, a także jView (<a href="http://www3.hi.is/%7Esnorri/SDK-docs/tools/tools004.htm" target="_blank">link</a>), służące do wizualizacji i działające jako aplikacja lokalna.</p>
<p class="paragraph">Osobną grupę stanowią rozwiązania, zapewniające dostęp niskiego poziomu, które ograniczają się do dwóch popularnych projektów: JOGL oraz LWJGL. W przeciwieństwie do opisanych poprzednio silników, które oferowały wyższy poziom uporządkowania danych (graf sceny), ta grupa daje programiście interfejs do bezpośredniej pracy z API OpenGL &#8211; zachowując w mniejszym lub większym stopniu jego struktury danych oraz poszczególne funkcje i sposoby działania. Zarówno JOGL, jak i LWJGL nie posiadają narzędzi ukierunkowanych na poszczególne typy aplikacji &#8211; są natomiast dobra bazą do tworzenia wysokopoziomowych engine’ów.</p>
<p class="paragraph">Oba API oprócz grafiki 3D, wspierają również interfejs OpenAL odpowiedzialny za obsługę dźwięku przestrzennego. Prostota LWJGL jest atrakcyjną cechą tego rozwiązania, podczas gdy JOGL wydaje się mieć odrobinę bardziej rozbudowaną warstwę abstrakcji. Oba jednak są zasadniczo bibliotekami pozwalającymi na komunikację między Javą, a OpenGL o podobnej wydajności oraz stopniu skomplikowania.</p>
]]></content:encoded>
			<wfw:commentRss>http://web3d.toborowicz.pl/java/java-czyli-jak-wirtualna-maszyna-radzi-sobie-z-web3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
