<?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; java3d</title>
	<atom:link href="http://web3d.toborowicz.pl/tag/java3d/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>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>
	</channel>
</rss>
