<?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>GaanZa &#187; developer</title>
	<atom:link href="http://www.gaanza.com/blog/category/developer/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gaanza.com</link>
	<description></description>
	<lastBuildDate>Sat, 04 Sep 2010 07:55:44 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Installing Vlc Player 1.1.4 on Ubuntu 10.04</title>
		<link>http://www.gaanza.com/blog/vlc-1-1-4/</link>
		<comments>http://www.gaanza.com/blog/vlc-1-1-4/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 12:10:35 +0000</pubDate>
		<dc:creator>padam</dc:creator>
				<category><![CDATA[developer]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[latest vlc on ubuntu]]></category>
		<category><![CDATA[vlc 1.1.4 on ubuntu 10.04]]></category>
		<category><![CDATA[vlc player 1.1.4]]></category>

		<guid isPermaLink="false">http://www.gaanza.com/?p=540</guid>
		<description><![CDATA[

Here is how i installed latest vlc media player 1.1.4 on ubuntu 10.04 from new personal package archieve.
I ran these commands on terminal:
sudo add-apt-repository ppa:ferramroberto/vlc &#38;&#38; sudo apt-get update
sudo apt-get install vlc mozilla-plugin-vlc
This is it.  
Gracias.



]]></description>
			<content:encoded><![CDATA[<div class="fblike_button" style="margin: 10px 0;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.gaanza.com%2Fblog%2Fvlc-1-1-4%2F&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:25px"></iframe></div>
<p><a href="http://www.gaanza.com/wp-content/uploads/2010/09/Screenshot1.png"><img class="alignleft size-full wp-image-543" title="Screenshot" src="http://www.gaanza.com/wp-content/uploads/2010/09/Screenshot1.png" alt="" width="603" height="528" /></a></p>
<p>Here is how i installed latest vlc media player 1.1.4 on ubuntu 10.04 from new personal package archieve.</p>
<p>I ran these commands on terminal:</p>
<blockquote><p>sudo add-apt-repository ppa:ferramroberto/vlc &amp;&amp; sudo apt-get update</p></blockquote>
<blockquote><p>sudo apt-get install vlc mozilla-plugin-vlc</p></blockquote>
<p>This is it. <img src='http://www.gaanza.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Gracias.</strong></p>
<p><a name="fb_share"></a><br />
<script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gaanza.com/blog/vlc-1-1-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My new Mac Ubuntu :D</title>
		<link>http://www.gaanza.com/blog/mac-ubuntu/</link>
		<comments>http://www.gaanza.com/blog/mac-ubuntu/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 10:27:12 +0000</pubDate>
		<dc:creator>padam</dc:creator>
				<category><![CDATA[developer]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Docky]]></category>
		<category><![CDATA[how to make ubuntu 10.04 look like mac os x]]></category>
		<category><![CDATA[mac look on ubuntu]]></category>
		<category><![CDATA[macbuntu]]></category>

		<guid isPermaLink="false">http://www.gaanza.com/?p=532</guid>
		<description><![CDATA[
I have been using Ubuntu 10.o4 for last two weeks. I am loving it. I haven&#8217;t touched windows yet after installing Ubuntu 10.04 on dual boot system. Ubuntu has got everything for my requirements. Yesterday My Brother uploaded the picture of his new Ubuntu 10.04 look on facebook. He gave exact replica of mac os [...]]]></description>
			<content:encoded><![CDATA[<div class="fblike_button" style="margin: 10px 0;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.gaanza.com%2Fblog%2Fmac-ubuntu%2F&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:25px"></iframe></div>
<p>I have been using Ubuntu 10.o4 for last two weeks. I am loving it. I haven&#8217;t touched windows yet after installing Ubuntu 10.04 on dual boot system. Ubuntu has got everything for my requirements. Yesterday My Brother uploaded the picture of his new Ubuntu 10.04 look on facebook. He gave exact replica of mac os x look and feel to his ubuntu desktop. Everything from icons to buttons to folders to menus to login screen, everything had a mac os X feel and even desktop functions/features were that of mac os X. I loved it and i asked  him the steps/instructions to do it. Here is the image of My new Ubuntu Desktop Look:</p>
<p><a href="http://www.gaanza.com/wp-content/uploads/2010/09/Screenshot.png"><img class="alignleft size-full wp-image-533" title="Screenshot" src="http://www.gaanza.com/wp-content/uploads/2010/09/Screenshot.png" alt="" width="533" height="400" /></a></p>
<p>Here are the steps to install Macbuntu:</p>
<p><strong>You should be connected to an internet.</strong></p>
<p>1) Open Terminal.<br />
<em>sudo wget https://downloads.sourceforge.net/project/macbuntu/macbuntu-10.04/v2.1/Macbuntu-10.04.tar.gz -O /tmp/Macbuntu-10.04.tar.gz<br />
</em></p>
<p><em>2) </em>Then Type<em> tar xzvf /tmp/Macbuntu-10.04.tar.gz -C /tmp </em></p>
<p><em>3) cd /tmp/Macbuntu-10.04/</em></p>
<p><em>4) ./install.sh</em></p>
<p>This is it. Now just follow the instructions and macbuntu will be installed. Then Reboot your machine. After restart your desktop will look like above picture.</p>
<p>To uninstall macbuntu:</p>
<p>Open Terminal:<br />
1) Type <em>cd ~/.macbuntu/10.04-2.1/<br />
<span style="font-style: normal;">2) Type</span> ./uninstall.sh </em></p>
<p>So enjoy.</p>
<p><strong>Gracias.</strong></p>
<p><a name="fb_share"></a><br />
<script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gaanza.com/blog/mac-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2D Rain Effect</title>
		<link>http://www.gaanza.com/blog/2d-rain-effect/</link>
		<comments>http://www.gaanza.com/blog/2d-rain-effect/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 05:40:10 +0000</pubDate>
		<dc:creator>padam</dc:creator>
				<category><![CDATA[Slick 2D]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[opengl]]></category>
		<category><![CDATA[2d rain effect]]></category>
		<category><![CDATA[lwjgl]]></category>

		<guid isPermaLink="false">http://www.gaanza.com/?p=382</guid>
		<description><![CDATA[
Hola Everyone.
I am working on a level for 2d game where i needed to add a rain effects. I am using Slick 2D library for making my 2d game. Before i started working on making  2D rain effect , i discussed this topic on slick 2d forum for how to get started ? Here [...]]]></description>
			<content:encoded><![CDATA[<div class="fblike_button" style="margin: 10px 0;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.gaanza.com%2Fblog%2F2d-rain-effect%2F&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:25px"></iframe></div>
<p><strong>Hola Everyone.</strong><br />
I am working on a level for 2d game where i needed to add a rain effects. I am using Slick 2D library for making my 2d game. Before i started working on making  2D rain effect , i discussed this topic on slick 2d forum for how to get started ? Here is the <a href="http://slick.javaunlimited.net/viewtopic.php?p=13771#13771" target="_blank">forum thread</a>. You can check it out.<br />
So i wrote a simple code to create a rain effect:<br />
1)	Make a Rain Drop, i wrote a class for Rain Drop that extends Polygon class. Yes i m creating rain drops with polygons.<br />
2)	Create number of drops at random coordinates  and simulate it across the screen i.e make them fall. You can use wind factor also for providing bit more interesting.</p>
<p><a href="http://www.gaanza.com/wp-content/uploads/2010/03/rain1.png"><img class="alignnone size-full wp-image-388" title="rain" src="http://www.gaanza.com/wp-content/uploads/2010/03/rain1.png" alt="" width="599" height="768" /></a><br />
So this is the way i started.</p>
<p>Here is the Rain Drop class:</p>
<div class="codesnip-container" >
<div class="codesnip"><span class="co2">import org.newdawn.slick.geom.Polygon;</span></p>
<p><span class="kw2">public</span> <span class="kw2">class</span> RainDrop <span class="kw2">extends</span> <a href="http://www.google.com/search?q=allinurl%3APolygon+java.sun.com&#038;bntl=1"><span class="kw3">Polygon</span></a><span class="br0">&#123;</span><br />
<span class="kw2">public</span> RainDrop<span class="br0">&#40;</span><span class="kw4">int</span> size<span class="br0">&#41;</span><span class="br0">&#123;</span><br />
super<span class="br0">&#40;</span><span class="br0">&#41;</span>;</p>
<p><span class="coMULTI">/** coordinates of vertices of polygon(rain drop) */</span><br />
<span class="kw2">this</span>.<span class="me1">addPoint</span><span class="br0">&#40;</span><span class="nu0">0</span>, <span class="nu0">0</span><span class="br0">&#41;</span>;<br />
<span class="kw2">this</span>.<span class="me1">addPoint</span><span class="br0">&#40;</span><span class="nu0">0</span>, size<span class="br0">&#41;</span>;<br />
<span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></div>
</div>
<p>This is the main class where we are using rain drops and simulating it to create a simple rain effect, nothing fancy.</p>
<div class="codesnip-container" >
<div class="codesnip"><span class="co2">import java.util.logging.Level;</span><br />
<span class="co2">import java.util.logging.Logger;</span><br />
<span class="co2">import org.newdawn.slick.AppGameContainer;</span><br />
<span class="co2">import org.newdawn.slick.BasicGame;</span><br />
<span class="co2">import org.newdawn.slick.Color;</span><br />
<span class="co2">import org.newdawn.slick.GameContainer;</span><br />
<span class="co2">import org.newdawn.slick.Graphics;</span><br />
<span class="co2">import org.newdawn.slick.Image;</span><br />
<span class="co2">import org.newdawn.slick.SlickException;</span></p>
<p><span class="kw2">public</span> <span class="kw2">class</span> Rainy <span class="kw2">extends</span> BasicGame<span class="br0">&#123;</span></p>
<p><span class="kw2">private</span> RainDrop<span class="br0">&#91;</span><span class="br0">&#93;</span> drops;<br />
<span class="kw2">private</span> <a href="http://www.google.com/search?q=allinurl%3AImage+java.sun.com&#038;bntl=1"><span class="kw3">Image</span></a> background;</p>
<p><span class="kw2">public</span> Rainy<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp;super<span class="br0">&#40;</span><span class="st0">&#8220;&#8221;</span><span class="br0">&#41;</span>;<br />
<span class="br0">&#125;</span></p>
<p><span class="kw2">public</span> <span class="kw4">static</span> <span class="kw4">void</span> main<span class="br0">&#40;</span><a href="http://www.google.com/search?q=allinurl%3AString+java.sun.com&#038;bntl=1"><span class="kw3">String</span></a><span class="br0">&#91;</span><span class="br0">&#93;</span> args<span class="br0">&#41;</span><span class="br0">&#123;</span><br />
<span class="kw2">try</span> <span class="br0">&#123;</span><br />
AppGameContainer app = <span class="kw2">new</span> AppGameContainer<span class="br0">&#40;</span><span class="kw2">new</span> Rainy<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
app.<span class="me1">setDisplayMode</span><span class="br0">&#40;</span><span class="nu0">1024</span>, <span class="nu0">768</span>, <span class="kw2">true</span><span class="br0">&#41;</span>;<br />
app.<span class="me1">setTargetFrameRate</span><span class="br0">&#40;</span><span class="nu0">100</span><span class="br0">&#41;</span>;<br />
app.<span class="me1">setShowFPS</span><span class="br0">&#40;</span><span class="kw2">false</span><span class="br0">&#41;</span>;<br />
app.<span class="me1">start</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
<span class="br0">&#125;</span> <span class="kw2">catch</span> <span class="br0">&#40;</span>SlickException ex<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
Logger.<span class="me1">getLogger</span><span class="br0">&#40;</span>Rainy.<span class="kw2">class</span>.<span class="me1">getName</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>.<span class="me1">log</span><span class="br0">&#40;</span>Level.<span class="me1">SEVERE</span>, <span class="kw2">null</span>, ex<span class="br0">&#41;</span>;<br />
<span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></p>
<p>@Override<br />
<span class="kw2">public</span> <span class="kw4">void</span> init<span class="br0">&#40;</span>GameContainer gc<span class="br0">&#41;</span> <span class="kw2">throws</span> SlickException <span class="br0">&#123;</span><br />
background=<span class="kw2">new</span> <a href="http://www.google.com/search?q=allinurl%3AImage+java.sun.com&#038;bntl=1"><span class="kw3">Image</span></a><span class="br0">&#40;</span><span class="st0">&#8220;data/jungle.jpg&#8221;</span><span class="br0">&#41;</span>;</p>
<p><span class="coMULTI">/** creating 700 rain drops and placing it on random location across the screen */</span><br />
initializeRain<span class="br0">&#40;</span><span class="nu0">900</span><span class="br0">&#41;</span>;<br />
<span class="br0">&#125;</span></p>
<p>@Override<br />
<span class="kw2">public</span> <span class="kw4">void</span> update<span class="br0">&#40;</span>GameContainer gc, <span class="kw4">int</span> delta<span class="br0">&#41;</span> <span class="kw2">throws</span> SlickException <span class="br0">&#123;</span></p>
<p><span class="kw1">for</span><span class="br0">&#40;</span><span class="kw4">int</span> i=<span class="nu0">0</span>;i&lt;drops.<span class="me1">length</span>-<span class="nu0">1</span>;i++<span class="br0">&#41;</span><span class="br0">&#123;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; drops<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">setY</span><span class="br0">&#40;</span>drops<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">getY</span><span class="br0">&#40;</span><span class="br0">&#41;</span>+<span class="nu0">4</span>.0f<span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; drops<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">setX</span><span class="br0">&#40;</span>drops<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">getX</span><span class="br0">&#40;</span><span class="br0">&#41;</span>-<span class="nu0">1</span>.0f<span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>drops<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">getY</span><span class="br0">&#40;</span><span class="br0">&#41;</span>&gt;<span class="nu0">768</span><span class="br0">&#41;</span><span class="br0">&#123;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;drops<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">setX</span><span class="br0">&#40;</span><span class="br0">&#40;</span>float<span class="br0">&#41;</span> <span class="br0">&#40;</span><span class="br0">&#40;</span><a href="http://www.google.com/search?q=allinurl%3AMath+java.sun.com&#038;bntl=1"><span class="kw3">Math</span></a>.<span class="me1">random</span><span class="br0">&#40;</span><span class="br0">&#41;</span> * <span class="nu0">2000</span><span class="br0">&#41;</span>+<span class="nu0">30</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;drops<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">setY</span><span class="br0">&#40;</span><span class="br0">&#40;</span>float<span class="br0">&#41;</span> <span class="br0">&#40;</span><span class="br0">&#40;</span><a href="http://www.google.com/search?q=allinurl%3AMath+java.sun.com&#038;bntl=1"><span class="kw3">Math</span></a>.<span class="me1">random</span><span class="br0">&#40;</span><span class="br0">&#41;</span> * <span class="nu0">5</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</p>
<p><span class="br0">&#125;</span></p>
<p><span class="br0">&#125;</span></p>
<p><span class="br0">&#125;</span></p>
<p><span class="kw2">public</span> <span class="kw4">void</span> render<span class="br0">&#40;</span>GameContainer gc, <a href="http://www.google.com/search?q=allinurl%3AGraphics+java.sun.com&#038;bntl=1"><span class="kw3">Graphics</span></a> g<span class="br0">&#41;</span> <span class="kw2">throws</span> SlickException <span class="br0">&#123;</span><br />
g.<span class="me1">drawImage</span><span class="br0">&#40;</span>background, <span class="nu0">0</span>, <span class="nu0">0</span><span class="br0">&#41;</span>;<br />
g.<span class="me1">setColor</span><span class="br0">&#40;</span><span class="kw2">new</span> <a href="http://www.google.com/search?q=allinurl%3AColor+java.sun.com&#038;bntl=1"><span class="kw3">Color</span></a><span class="br0">&#40;</span><span class="nu0">188</span>.0f,<span class="nu0">227</span>.0f,<span class="nu0">229</span>.0f,<span class="nu0">0</span>.3f<span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
<span class="kw1">for</span><span class="br0">&#40;</span><span class="kw4">int</span> i=<span class="nu0">0</span>;i&lt;drops.<span class="me1">length</span>-<span class="nu0">1</span>;i++<span class="br0">&#41;</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp;g.<span class="me1">draw</span><span class="br0">&#40;</span>drops<span class="br0">&#91;</span>i<span class="br0">&#93;</span><span class="br0">&#41;</span>;<br />
<span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></p>
<p><span class="coMULTI">/** creating rain drops */</span><br />
<span class="kw4">void</span> initializeRain<span class="br0">&#40;</span><span class="kw4">int</span> num_of_drops<span class="br0">&#41;</span><span class="br0">&#123;</span><br />
drops=<span class="kw2">new</span> RainDrop<span class="br0">&#91;</span>num_of_drops<span class="br0">&#93;</span>;<br />
<span class="kw1">for</span><span class="br0">&#40;</span><span class="kw4">int</span> i=<span class="nu0">0</span>;i&lt;drops.<span class="me1">length</span>-<span class="nu0">1</span>;i++<span class="br0">&#41;</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; drops<span class="br0">&#91;</span>i<span class="br0">&#93;</span>=<span class="kw2">new</span> RainDrop<span class="br0">&#40;</span><span class="br0">&#40;</span><span class="kw4">int</span><span class="br0">&#41;</span> <span class="br0">&#40;</span><a href="http://www.google.com/search?q=allinurl%3AMath+java.sun.com&#038;bntl=1"><span class="kw3">Math</span></a>.<span class="me1">random</span><span class="br0">&#40;</span><span class="br0">&#41;</span> * <span class="nu0">10</span> + <span class="nu0">4</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; drops<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">setX</span><span class="br0">&#40;</span><span class="br0">&#40;</span>float<span class="br0">&#41;</span> <span class="br0">&#40;</span><span class="br0">&#40;</span><a href="http://www.google.com/search?q=allinurl%3AMath+java.sun.com&#038;bntl=1"><span class="kw3">Math</span></a>.<span class="me1">random</span><span class="br0">&#40;</span><span class="br0">&#41;</span> * <span class="nu0">2000</span><span class="br0">&#41;</span>+<span class="nu0">30</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; drops<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">setY</span><span class="br0">&#40;</span><span class="br0">&#40;</span>float<span class="br0">&#41;</span> <span class="br0">&#40;</span><span class="br0">&#40;</span><a href="http://www.google.com/search?q=allinurl%3AMath+java.sun.com&#038;bntl=1"><span class="kw3">Math</span></a>.<span class="me1">random</span><span class="br0">&#40;</span><span class="br0">&#41;</span> * <span class="nu0">750</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
<span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></p>
<p><span class="br0">&#125;</span></div>
</div>
<p>So what i am doing  :<br />
1)	initializeRain(int num_of_drops) takes an int parameter which denotes the number of rain drops. This function creates a number of rain drops(instance of raindrop class) and assigns the random x and y position to each rain drops.<br />
2)	Then we simply iterate the array of rain drops and translate them across the screen. When drops reaches the bottom of screen then we simply restore back to random initial starting postion. This keeps going on and gives the impression of rainy effect.</p>
<p>This is very simple 2d effect that i started with. You can write your own optimized version and can add more feature to give fancy impression like adding alpha values  for each rain drop etc.</p>
<p><strong>Gracias.</strong></p>
<p><a name="fb_share" type="box_count share_url="http://www.gaanza.com/blog/2d-rain-effect/"></a><br />
<script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" 
        type="text/javascript">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gaanza.com/blog/2d-rain-effect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Finding Nearest Sprite For 2D Collision</title>
		<link>http://www.gaanza.com/blog/finding-nearest-sprite-for-2d-collision/</link>
		<comments>http://www.gaanza.com/blog/finding-nearest-sprite-for-2d-collision/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 15:04:08 +0000</pubDate>
		<dc:creator>padam</dc:creator>
				<category><![CDATA[Slick 2D]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[2d collision]]></category>
		<category><![CDATA[collision detection]]></category>

		<guid isPermaLink="false">http://www.gaanza.com/?p=368</guid>
		<description><![CDATA[
Hola EveryOne.
There are various methods/ways to detect a collision between two objects. Each having its own advantage and disadvantage and based on our requirement we implement one of the collsion detection algorithm.
Here i am not going to talk about collision algorithm. I am going to talk about determining the nearest object with which collision will [...]]]></description>
			<content:encoded><![CDATA[<div class="fblike_button" style="margin: 10px 0;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.gaanza.com%2Fblog%2Ffinding-nearest-sprite-for-2d-collision%2F&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:25px"></iframe></div>
<p><strong>Hola EveryOne.</strong></p>
<p>There are various methods/ways to detect a collision between two objects. Each having its own advantage and disadvantage and based on our requirement we implement one of the collsion detection algorithm.</p>
<p>Here i am not going to talk about collision algorithm. I am going to talk about determining the nearest object with which collision will take place. Suppose there are many objects across the screen and u have to detect the collision between your game character and those objects. And you run the algorithm to detect collision with each of every object in every frame. So it decreases the efficiency of your program. Its better to detremine the nearest object to your game character and detect collision with that determined nearest object.</p>
<p>Here i m using bounding rectangle concept for collision detection.<br />
<a href="http://www.gaanza.com/wp-content/uploads/2010/02/near2.png"><img src="http://www.gaanza.com/wp-content/uploads/2010/02/near2.png" alt="" title="concept diagram" width="567" height="523" class="alignnone size-full wp-image-373" /></a></p>
<p>Code Example:</p>
<div class="codesnip-container" >
<div class="codesnip"><span class="kw2">public</span> <span class="kw4">static</span> Sprite getNearestGroundSprite<span class="br0">&#40;</span>ArrayList&lt;Sprite&gt; sprites,Sprite hero<span class="br0">&#41;</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; Sprite sprite=<span class="kw2">null</span>;<br />
&nbsp; &nbsp; float minDistance=<span class="nu0">9999</span>;<br />
&nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>hero!=<span class="kw2">null</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; <span class="kw1">for</span><span class="br0">&#40;</span><span class="kw4">int</span> i=<span class="nu0">0</span>;i&lt;sprites.<span class="me1">size</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;i++<span class="br0">&#41;</span><span class="br0">&#123;</span><br />
<span class="coMULTI">/* ignore all those objects which are not visible across the screen */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>sprites.<span class="me1">get</span><span class="br0">&#40;</span>i<span class="br0">&#41;</span>.<span class="me1">getSX</span><span class="br0">&#40;</span><span class="br0">&#41;</span>&gt;screenWidth || <span class="br0">&#40;</span>sprites.<span class="me1">get</span><span class="br0">&#40;</span>i<span class="br0">&#41;</span>.<span class="me1">getSX</span><span class="br0">&#40;</span><span class="br0">&#41;</span>+sprites.<span class="me1">get</span><span class="br0">&#40;</span>i<span class="br0">&#41;</span>.<span class="me1">getWidth</span><span class="br0">&#40;</span><span class="br0">&#41;</span>&lt;<span class="nu0">0</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; continue;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">else</span><br />
<span class="coMULTI">/* ignore all those objects which are located above the game character */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>hero.<span class="me1">getSY</span><span class="br0">&#40;</span><span class="br0">&#41;</span>&gt;sprites.<span class="me1">get</span><span class="br0">&#40;</span>i<span class="br0">&#41;</span>.<span class="me1">getSY</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; continue;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">else</span><br />
<span class="coMULTI">/* ignore all those objects that are located at the left side of game character */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>hero.<span class="me1">getSX</span><span class="br0">&#40;</span><span class="br0">&#41;</span>&gt;<span class="br0">&#40;</span>sprites.<span class="me1">get</span><span class="br0">&#40;</span>i<span class="br0">&#41;</span>.<span class="me1">getSX</span><span class="br0">&#40;</span><span class="br0">&#41;</span>+sprites.<span class="me1">get</span><span class="br0">&#40;</span>i<span class="br0">&#41;</span>.<span class="me1">getWidth</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; continue;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">else</span><br />
<span class="coMULTI">/* ignore all those objects that are located at right side of game character */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="br0">&#40;</span>hero.<span class="me1">getSX</span><span class="br0">&#40;</span><span class="br0">&#41;</span>+hero.<span class="me1">getWidth</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>&lt;sprites.<span class="me1">get</span><span class="br0">&#40;</span>i<span class="br0">&#41;</span>.<span class="me1">getSX</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; continue;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>&nbsp; <br />
<span class="coMULTI">/* calculate the distance between remaining objects and game character */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; float dist=sprites.<span class="me1">get</span><span class="br0">&#40;</span>i<span class="br0">&#41;</span>.<span class="me1">getSY</span><span class="br0">&#40;</span><span class="br0">&#41;</span>-hero.<span class="me1">getSY</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
<span class="coMULTI">/* determine the nearest sprite from remaining sprites */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>dist&lt;minDistance<span class="br0">&#41;</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; minDistance=dist;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sprite=sprites.<span class="me1">get</span><span class="br0">&#40;</span>i<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="coMULTI">/* nearest object found or return null if not found */</span><br />
&nbsp; &nbsp; <span class="kw2">return</span> sprite;<br />
<span class="br0">&#125;</span></div>
</div>
<p>Sprite is just a class representing characters of game. getSX() and getSY() returns the x and y coordinate location of that sprite. getWidth() simply returns the width of the sprite image.</p>
<p>In above code i am ignoring all those sprites that are located at left, right and top of my game character because i need bottom sprite to check collision with i.e when character falls down. This way the number of sprites decreases for checking collisions. You can write function for finding nearest left and right sprites also. You need to call this function at right place and when needed.</p>
<p>This is very simple and basic way i started and it gets the job done. You can write your own optimized code. This is how i started. I have written my optimized code for finding nearest sprite but right now i won&#8217;t be posting it but i&#8217;l share it soon in near future.</p>
<p><strong>Gracias.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gaanza.com/blog/finding-nearest-sprite-for-2d-collision/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Loading image/Texture Mapping in LWJGL</title>
		<link>http://www.gaanza.com/blog/loading-imagetexture-mapping-in-lwjgl/</link>
		<comments>http://www.gaanza.com/blog/loading-imagetexture-mapping-in-lwjgl/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 15:35:40 +0000</pubDate>
		<dc:creator>padam</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[opengl]]></category>
		<category><![CDATA[loading image]]></category>
		<category><![CDATA[loading image/texture mapping in lwjgl]]></category>
		<category><![CDATA[lwjgl]]></category>
		<category><![CDATA[texture mapping]]></category>

		<guid isPermaLink="false">http://www.gaanza.com/blog/?p=318</guid>
		<description><![CDATA[

Hola everyone.
I am currently working on my own two game projects: one project is of mobile phone game and other is 2.5 or side-scrolling 3d game, not much sure. So for second project i am making an small engine that will be used to make 2.5D game or side scrolling 3d game, Just simple and [...]]]></description>
			<content:encoded><![CDATA[<div class="fblike_button" style="margin: 10px 0;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.gaanza.com%2Fblog%2Floading-imagetexture-mapping-in-lwjgl%2F&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:25px"></iframe></div>
<p><img class="alignnone size-full wp-image-323" title="box" src="http://www.gaanza.com/wp-content/uploads/2009/10/box.png" alt="box" width="550" height="400" /></p>
<p>Hola everyone.</p>
<p>I am currently working on my own two game projects: one project is of mobile phone game and other is 2.5 or side-scrolling 3d game, not much sure. So for second project i am making an small engine that will be used to make 2.5D game or side scrolling 3d game, Just simple and fun game. I have chosen LWJGL, which is a java binding for Opengl to make my game. So first thing i need to work on loading images.texture mapping in lwjgl. I found some pretty much useful tutorials and great help from lwjgl forums. But atlast i got something that i was looking for from the <a href="http://lwjgl.org/forum/index.php/topic,3073.0.html" target="_blank">forum</a>.</p>
<p>I came to know about slick-util which is free and open source lib to <strong>load images and play sounds</strong>. Its very easy to pick up and implement it. Its just worked flawlessly and smoothly for me. You can <a href="http://slick.cokeandcode.com/downloads/util/" target="_blank">download the slick-util from here</a>.<strong> PNG, GIF, JPG, TGA are supported and WAV, OGG, XM sounds are supported by slick-util.</strong></p>
<p>So here i&#8217;l show u how easily i loaded images and mapped to a 3D BOX. First u have to setup lwjgl and slick-util with netbeans. Yeah i am using netbeans to write my program. You <a href="http://www.gaanza.com/blog/setting-up-lwjgl-with-netbeans/" target="_blank">can see my post to setup lwjgl with netbeans</a>. Now we will set up slick-util, its a continuation to the steps that we did to setup lwjgl.</p>
<p><strong>Continued&#8230;</strong></p>
<p>Step 1: We just have to configure the project properties so that project can find the lib to compile and run.</p>
<p><img class="alignnone size-full wp-image-319" title="1" src="http://www.gaanza.com/wp-content/uploads/2009/10/1.png" alt="1" width="501" height="206" /></p>
<p><img class="alignnone size-full wp-image-320" title="2" src="http://www.gaanza.com/wp-content/uploads/2009/10/2.png" alt="2" width="462" height="254" /></p>
<p>Ok that was it. Now slick-util lib has been set up.Now first i&#8217;l show u how to load image and bind it , full source will be at the end.</p>
<p><strong>Texture texture;</strong></p>
<p>Texture is an interface having description of texture which will be loaded.</p>
<p><strong>texture = TextureLoader.getTexture(&#8220;PNG&#8221;, new FileInputStream(&#8220;Data/Crate.png&#8221;));</strong></p>
<p>now we are loading the texture using TextureLoader utility class. Just smooth and simple.</p>
<p><strong>texture.bind();</strong></p>
<p>Now we are binding the texture.</p>
<p>So thats what u need to load the image and map them to objects. Download this image to use it in this program.</p>
<p><img class="alignnone size-full wp-image-321" title="Crate" src="http://www.gaanza.com/wp-content/uploads/2009/10/Crate.png" alt="Crate" width="256" height="256" /></p>
<p><strong>Full Code:</strong></p>
<div class="codesnip-container" >
<div class="codesnip"><span class="coMULTI">/*<br />
&nbsp;* To change this template, choose Tools | Templates<br />
&nbsp;* and open the template in the editor.<br />
&nbsp;*/</span></p>
<p>package com.<span class="me1">gaanza</span>.<span class="me1">engine</span>.<span class="me1">test2</span>;</p>
<p><span class="co2">import java.io.FileInputStream;</span><br />
<span class="co2">import java.io.IOException;</span><br />
<span class="co2">import java.util.logging.Level;</span><br />
<span class="co2">import java.util.logging.Logger;</span><br />
<span class="co2">import org.lwjgl.LWJGLException;</span><br />
<span class="co2">import org.lwjgl.Sys;</span><br />
<span class="co2">import org.lwjgl.opengl.Display;</span><br />
<span class="co2">import org.lwjgl.opengl.DisplayMode;</span><br />
<span class="co2">import org.lwjgl.opengl.GL11;</span><br />
<span class="co2">import org.lwjgl.util.glu.GLU;</span><br />
<span class="co2">import org.newdawn.slick.opengl.Texture;</span><br />
<span class="co2">import org.newdawn.slick.opengl.TextureLoader;</span></p>
<p><span class="coMULTI">/**<br />
&nbsp;*<br />
&nbsp;* @author Java Guy<br />
&nbsp;*/</span><br />
<span class="kw2">public</span> <span class="kw2">class</span> EngineTest <span class="br0">&#123;</span></p>
<p>&nbsp; &nbsp; <span class="kw2">private</span> <span class="kw4">static</span> <span class="kw4">boolean</span> gameRunning=<span class="kw2">true</span>;<br />
&nbsp; &nbsp; <span class="kw2">private</span> <span class="kw4">static</span> <span class="kw4">int</span> targetWidth = <span class="nu0">800</span>;<br />
&nbsp; &nbsp; <span class="kw2">private</span> <span class="kw4">static</span> <span class="kw4">int</span> targetHeight = <span class="nu0">600</span>;</p>
<p>&nbsp; &nbsp; <span class="kw2">private</span> float xrot=<span class="nu0">0</span>.1f;<br />
&nbsp; &nbsp; <span class="kw2">private</span> float yrot=<span class="nu0">0</span>.1f;<br />
&nbsp; &nbsp; <span class="kw2">private</span> float zrot=<span class="nu0">0</span>.1f;</p>
<p>&nbsp; &nbsp; <span class="coMULTI">/** The texture that&#8217;s been loaded */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">private</span> Texture texture;</p>
<p>&nbsp; &nbsp; <span class="kw2">public</span> <span class="kw4">static</span> <span class="kw4">void</span> main<span class="br0">&#40;</span><a href="http://www.google.com/search?q=allinurl%3AString+java.sun.com&#038;bntl=1"><span class="kw3">String</span></a><span class="br0">&#91;</span><span class="br0">&#93;</span> args<span class="br0">&#41;</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; EngineTest app=<span class="kw2">new</span> EngineTest<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; initDisplay<span class="br0">&#40;</span><span class="kw2">false</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; initGL<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; app.<span class="me1">init</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; app.<span class="me1">run</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; <span class="kw2">private</span> <span class="kw4">static</span> <span class="kw4">void</span> initDisplay<span class="br0">&#40;</span><span class="kw4">boolean</span> fullscreen<span class="br0">&#41;</span><span class="br0">&#123;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; DisplayMode chosenMode = <span class="kw2">null</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">try</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DisplayMode<span class="br0">&#91;</span><span class="br0">&#93;</span> modes = Display.<span class="me1">getAvailableDisplayModes</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span><span class="kw4">int</span> i=<span class="nu0">0</span>;i&lt;modes.<span class="me1">length</span>;i++<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="br0">&#40;</span>modes<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">getWidth</span><span class="br0">&#40;</span><span class="br0">&#41;</span> == targetWidth<span class="br0">&#41;</span> &amp;&amp; <span class="br0">&#40;</span>modes<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">getHeight</span><span class="br0">&#40;</span><span class="br0">&#41;</span> == targetHeight<span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; chosenMode = modes<span class="br0">&#91;</span>i<span class="br0">&#93;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">break</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span> <span class="kw2">catch</span> <span class="br0">&#40;</span>LWJGLException e<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; Sys.<span class="me1">alert</span><span class="br0">&#40;</span><span class="st0">&#8220;Error&#8221;</span>, <span class="st0">&#8220;Unable to determine display modes.&#8221;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?q=allinurl%3ASystem+java.sun.com&#038;bntl=1"><span class="kw3">System</span></a>.<span class="me1">exit</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// at this point if we have no mode there was no appropriate, let the user know</span><br />
&nbsp; &nbsp; <span class="co1">// and give up</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>chosenMode == <span class="kw2">null</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Sys.<span class="me1">alert</span><span class="br0">&#40;</span><span class="st0">&#8220;Error&#8221;</span>, <span class="st0">&#8220;Unable to find appropriate display mode.&#8221;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?q=allinurl%3ASystem+java.sun.com&#038;bntl=1"><span class="kw3">System</span></a>.<span class="me1">exit</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">try</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Display.<span class="me1">setDisplayMode</span><span class="br0">&#40;</span>chosenMode<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Display.<span class="me1">setFullscreen</span><span class="br0">&#40;</span>fullscreen<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Display.<span class="me1">setTitle</span><span class="br0">&#40;</span><span class="st0">&#8220;LWJGL window&#8221;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Display.<span class="me1">create</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">catch</span> <span class="br0">&#40;</span>LWJGLException e<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Sys.<span class="me1">alert</span><span class="br0">&#40;</span><span class="st0">&#8220;Error&#8221;</span>,<span class="st0">&#8220;Unable to create display.&#8221;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?q=allinurl%3ASystem+java.sun.com&#038;bntl=1"><span class="kw3">System</span></a>.<span class="me1">exit</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p><span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; <span class="kw2">private</span> <span class="kw4">static</span> <span class="kw4">boolean</span> initGL<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glMatrixMode</span><span class="br0">&#40;</span>GL11.<span class="me1">GL_PROJECTION</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glLoadIdentity</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</p>
<p><span class="co1">//&nbsp; &nbsp; &nbsp; &nbsp; Calculate the aspect ratio of the window</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; GLU.<span class="me1">gluPerspective</span><span class="br0">&#40;</span><span class="nu0">45</span>.0f,<span class="br0">&#40;</span><span class="br0">&#40;</span>float<span class="br0">&#41;</span>targetWidth<span class="br0">&#41;</span>/<span class="br0">&#40;</span><span class="br0">&#40;</span>float<span class="br0">&#41;</span>targetHeight<span class="br0">&#41;</span>,<span class="nu0">0</span>.1f,<span class="nu0">100</span>.0f<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glMatrixMode</span><span class="br0">&#40;</span>GL11.<span class="me1">GL_MODELVIEW</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glLoadIdentity</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glEnable</span><span class="br0">&#40;</span>GL11.<span class="me1">GL_TEXTURE_2D</span><span class="br0">&#41;</span>;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Enable Texture Mapping ( NEW )</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glShadeModel</span><span class="br0">&#40;</span>GL11.<span class="me1">GL_SMOOTH</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glClearColor</span><span class="br0">&#40;</span><span class="nu0">0</span>.0f, <span class="nu0">0</span>.0f, <span class="nu0">0</span>.0f, <span class="nu0">0</span>.0f<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glClearDepth</span><span class="br0">&#40;</span><span class="nu0">1</span>.0f<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glEnable</span><span class="br0">&#40;</span>GL11.<span class="me1">GL_DEPTH_TEST</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glDepthFunc</span><span class="br0">&#40;</span>GL11.<span class="me1">GL_LEQUAL</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glHint</span><span class="br0">&#40;</span>GL11.<span class="me1">GL_PERSPECTIVE_CORRECTION_HINT</span>, GL11.<span class="me1">GL_NICEST</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">return</span> <span class="kw2">true</span>;<br />
&nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; <span class="kw2">private</span> <span class="kw4">void</span> init<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">try</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; texture = TextureLoader.<span class="me1">getTexture</span><span class="br0">&#40;</span><span class="st0">&#8220;PNG&#8221;</span>, <span class="kw2">new</span> <a href="http://www.google.com/search?q=allinurl%3AFileInputStream+java.sun.com&#038;bntl=1"><span class="kw3">FileInputStream</span></a><span class="br0">&#40;</span><span class="st0">&#8220;Data/grass.png&#8221;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span> <span class="kw2">catch</span> <span class="br0">&#40;</span><a href="http://www.google.com/search?q=allinurl%3AIOException+java.sun.com&#038;bntl=1"><span class="kw3">IOException</span></a> ex<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Logger.<span class="me1">getLogger</span><span class="br0">&#40;</span>EngineTest.<span class="kw2">class</span>.<span class="me1">getName</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>.<span class="me1">log</span><span class="br0">&#40;</span>Level.<span class="me1">SEVERE</span>, <span class="kw2">null</span>, ex<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; <span class="kw2">private</span> <span class="kw4">void</span> run<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">while</span><span class="br0">&#40;</span>gameRunning<span class="br0">&#41;</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; update<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; render<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Display.<span class="me1">update</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// finally check if the user has requested that the display be</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// shutdown</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>Display.<span class="me1">isCloseRequested</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; gameRunning = <span class="kw2">false</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Display.<span class="me1">destroy</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?q=allinurl%3ASystem+java.sun.com&#038;bntl=1"><span class="kw3">System</span></a>.<span class="me1">exit</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; <span class="kw2">private</span> <span class="kw4">void</span> update<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; xrot+=<span class="nu0">0</span>.1f;<br />
&nbsp; &nbsp; &nbsp; &nbsp; yrot+=<span class="nu0">0</span>.1f;<br />
&nbsp; &nbsp; &nbsp; &nbsp; zrot+=<span class="nu0">0</span>.1f;<br />
&nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; <span class="kw2">private</span> <span class="kw4">void</span> render<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glClear</span><span class="br0">&#40;</span>GL11.<span class="me1">GL_COLOR_BUFFER_BIT</span>|GL11.<span class="me1">GL_DEPTH_BUFFER_BIT</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glLoadIdentity</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glTranslatef</span><span class="br0">&#40;</span><span class="nu0">0</span>.0f,<span class="nu0">0</span>.0f,-<span class="nu0">5</span>.0f<span class="br0">&#41;</span>;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp;<span class="co1">// Move Into The Screen 5 Units</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glRotatef</span><span class="br0">&#40;</span>xrot,<span class="nu0">1</span>.0f,<span class="nu0">0</span>.0f,<span class="nu0">0</span>.0f<span class="br0">&#41;</span>;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Rotate On The X Axis</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glRotatef</span><span class="br0">&#40;</span>yrot,<span class="nu0">0</span>.0f,<span class="nu0">1</span>.0f,<span class="nu0">0</span>.0f<span class="br0">&#41;</span>;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Rotate On The Y Axis</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glRotatef</span><span class="br0">&#40;</span>zrot,<span class="nu0">0</span>.0f,<span class="nu0">0</span>.0f,<span class="nu0">1</span>.0f<span class="br0">&#41;</span>;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Rotate On The Z Axis</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; texture.<span class="me1">bind</span><span class="br0">&#40;</span><span class="br0">&#41;</span>; <span class="co1">// or GL11.glBind(texture.getTextureID());</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glBegin</span><span class="br0">&#40;</span>GL11.<span class="me1">GL_QUADS</span><span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Front Face</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glTexCoord2f</span><span class="br0">&#40;</span><span class="nu0">0</span>.0f, <span class="nu0">0</span>.0f<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glVertex3f</span><span class="br0">&#40;</span>-<span class="nu0">1</span>.0f, -<span class="nu0">1</span>.0f,&nbsp; <span class="nu0">1</span>.0f<span class="br0">&#41;</span>;&nbsp; &nbsp;<span class="co1">// Bottom Left Of The Texture and Quad</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glTexCoord2f</span><span class="br0">&#40;</span><span class="nu0">1</span>.0f, <span class="nu0">0</span>.0f<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glVertex3f</span><span class="br0">&#40;</span> <span class="nu0">1</span>.0f, -<span class="nu0">1</span>.0f,&nbsp; <span class="nu0">1</span>.0f<span class="br0">&#41;</span>;&nbsp; &nbsp;<span class="co1">// Bottom Right Of The Texture and Quad</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glTexCoord2f</span><span class="br0">&#40;</span><span class="nu0">1</span>.0f, <span class="nu0">1</span>.0f<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glVertex3f</span><span class="br0">&#40;</span> <span class="nu0">1</span>.0f,&nbsp; <span class="nu0">1</span>.0f,&nbsp; <span class="nu0">1</span>.0f<span class="br0">&#41;</span>;&nbsp; &nbsp;<span class="co1">// Top Right Of The Texture and Quad</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glTexCoord2f</span><span class="br0">&#40;</span><span class="nu0">0</span>.0f, <span class="nu0">1</span>.0f<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glVertex3f</span><span class="br0">&#40;</span>-<span class="nu0">1</span>.0f,&nbsp; <span class="nu0">1</span>.0f,&nbsp; <span class="nu0">1</span>.0f<span class="br0">&#41;</span>;&nbsp; &nbsp;<span class="co1">// Top Left Of The Texture and Quad</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Back Face</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glTexCoord2f</span><span class="br0">&#40;</span><span class="nu0">1</span>.0f, <span class="nu0">0</span>.0f<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glVertex3f</span><span class="br0">&#40;</span>-<span class="nu0">1</span>.0f, -<span class="nu0">1</span>.0f, -<span class="nu0">1</span>.0f<span class="br0">&#41;</span>;&nbsp; &nbsp;<span class="co1">// Bottom Right Of The Texture and Quad</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glTexCoord2f</span><span class="br0">&#40;</span><span class="nu0">1</span>.0f, <span class="nu0">1</span>.0f<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glVertex3f</span><span class="br0">&#40;</span>-<span class="nu0">1</span>.0f,&nbsp; <span class="nu0">1</span>.0f, -<span class="nu0">1</span>.0f<span class="br0">&#41;</span>;&nbsp; &nbsp;<span class="co1">// Top Right Of The Texture and Quad</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glTexCoord2f</span><span class="br0">&#40;</span><span class="nu0">0</span>.0f, <span class="nu0">1</span>.0f<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glVertex3f</span><span class="br0">&#40;</span> <span class="nu0">1</span>.0f,&nbsp; <span class="nu0">1</span>.0f, -<span class="nu0">1</span>.0f<span class="br0">&#41;</span>;&nbsp; &nbsp;<span class="co1">// Top Left Of The Texture and Quad</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glTexCoord2f</span><span class="br0">&#40;</span><span class="nu0">0</span>.0f, <span class="nu0">0</span>.0f<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glVertex3f</span><span class="br0">&#40;</span> <span class="nu0">1</span>.0f, -<span class="nu0">1</span>.0f, -<span class="nu0">1</span>.0f<span class="br0">&#41;</span>;&nbsp; &nbsp;<span class="co1">// Bottom Left Of The Texture and Quad</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Top Face</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glTexCoord2f</span><span class="br0">&#40;</span><span class="nu0">0</span>.0f, <span class="nu0">1</span>.0f<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glVertex3f</span><span class="br0">&#40;</span>-<span class="nu0">1</span>.0f,&nbsp; <span class="nu0">1</span>.0f, -<span class="nu0">1</span>.0f<span class="br0">&#41;</span>;&nbsp; &nbsp;<span class="co1">// Top Left Of The Texture and Quad</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glTexCoord2f</span><span class="br0">&#40;</span><span class="nu0">0</span>.0f, <span class="nu0">0</span>.0f<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glVertex3f</span><span class="br0">&#40;</span>-<span class="nu0">1</span>.0f,&nbsp; <span class="nu0">1</span>.0f,&nbsp; <span class="nu0">1</span>.0f<span class="br0">&#41;</span>;&nbsp; &nbsp;<span class="co1">// Bottom Left Of The Texture and Quad</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glTexCoord2f</span><span class="br0">&#40;</span><span class="nu0">1</span>.0f, <span class="nu0">0</span>.0f<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glVertex3f</span><span class="br0">&#40;</span> <span class="nu0">1</span>.0f,&nbsp; <span class="nu0">1</span>.0f,&nbsp; <span class="nu0">1</span>.0f<span class="br0">&#41;</span>;&nbsp; &nbsp;<span class="co1">// Bottom Right Of The Texture and Quad</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glTexCoord2f</span><span class="br0">&#40;</span><span class="nu0">1</span>.0f, <span class="nu0">1</span>.0f<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glVertex3f</span><span class="br0">&#40;</span> <span class="nu0">1</span>.0f,&nbsp; <span class="nu0">1</span>.0f, -<span class="nu0">1</span>.0f<span class="br0">&#41;</span>;&nbsp; &nbsp;<span class="co1">// Top Right Of The Texture and Quad</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Bottom Face</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glTexCoord2f</span><span class="br0">&#40;</span><span class="nu0">1</span>.0f, <span class="nu0">1</span>.0f<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glVertex3f</span><span class="br0">&#40;</span>-<span class="nu0">1</span>.0f, -<span class="nu0">1</span>.0f, -<span class="nu0">1</span>.0f<span class="br0">&#41;</span>;&nbsp; &nbsp;<span class="co1">// Top Right Of The Texture and Quad</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glTexCoord2f</span><span class="br0">&#40;</span><span class="nu0">0</span>.0f, <span class="nu0">1</span>.0f<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glVertex3f</span><span class="br0">&#40;</span> <span class="nu0">1</span>.0f, -<span class="nu0">1</span>.0f, -<span class="nu0">1</span>.0f<span class="br0">&#41;</span>;&nbsp; &nbsp;<span class="co1">// Top Left Of The Texture and Quad</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glTexCoord2f</span><span class="br0">&#40;</span><span class="nu0">0</span>.0f, <span class="nu0">0</span>.0f<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glVertex3f</span><span class="br0">&#40;</span> <span class="nu0">1</span>.0f, -<span class="nu0">1</span>.0f,&nbsp; <span class="nu0">1</span>.0f<span class="br0">&#41;</span>;&nbsp; &nbsp;<span class="co1">// Bottom Left Of The Texture and Quad</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glTexCoord2f</span><span class="br0">&#40;</span><span class="nu0">1</span>.0f, <span class="nu0">0</span>.0f<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glVertex3f</span><span class="br0">&#40;</span>-<span class="nu0">1</span>.0f, -<span class="nu0">1</span>.0f,&nbsp; <span class="nu0">1</span>.0f<span class="br0">&#41;</span>;&nbsp; &nbsp;<span class="co1">// Bottom Right Of The Texture and Quad</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Right face</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glTexCoord2f</span><span class="br0">&#40;</span><span class="nu0">1</span>.0f, <span class="nu0">0</span>.0f<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glVertex3f</span><span class="br0">&#40;</span> <span class="nu0">1</span>.0f, -<span class="nu0">1</span>.0f, -<span class="nu0">1</span>.0f<span class="br0">&#41;</span>;&nbsp; &nbsp;<span class="co1">// Bottom Right Of The Texture and Quad</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glTexCoord2f</span><span class="br0">&#40;</span><span class="nu0">1</span>.0f, <span class="nu0">1</span>.0f<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glVertex3f</span><span class="br0">&#40;</span> <span class="nu0">1</span>.0f,&nbsp; <span class="nu0">1</span>.0f, -<span class="nu0">1</span>.0f<span class="br0">&#41;</span>;&nbsp; &nbsp;<span class="co1">// Top Right Of The Texture and Quad</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glTexCoord2f</span><span class="br0">&#40;</span><span class="nu0">0</span>.0f, <span class="nu0">1</span>.0f<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glVertex3f</span><span class="br0">&#40;</span> <span class="nu0">1</span>.0f,&nbsp; <span class="nu0">1</span>.0f,&nbsp; <span class="nu0">1</span>.0f<span class="br0">&#41;</span>;&nbsp; &nbsp;<span class="co1">// Top Left Of The Texture and Quad</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glTexCoord2f</span><span class="br0">&#40;</span><span class="nu0">0</span>.0f, <span class="nu0">0</span>.0f<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glVertex3f</span><span class="br0">&#40;</span> <span class="nu0">1</span>.0f, -<span class="nu0">1</span>.0f,&nbsp; <span class="nu0">1</span>.0f<span class="br0">&#41;</span>;&nbsp; &nbsp;<span class="co1">// Bottom Left Of The Texture and Quad</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Left Face</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glTexCoord2f</span><span class="br0">&#40;</span><span class="nu0">0</span>.0f, <span class="nu0">0</span>.0f<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glVertex3f</span><span class="br0">&#40;</span>-<span class="nu0">1</span>.0f, -<span class="nu0">1</span>.0f, -<span class="nu0">1</span>.0f<span class="br0">&#41;</span>;&nbsp; &nbsp;<span class="co1">// Bottom Left Of The Texture and Quad</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glTexCoord2f</span><span class="br0">&#40;</span><span class="nu0">1</span>.0f, <span class="nu0">0</span>.0f<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glVertex3f</span><span class="br0">&#40;</span>-<span class="nu0">1</span>.0f, -<span class="nu0">1</span>.0f,&nbsp; <span class="nu0">1</span>.0f<span class="br0">&#41;</span>;&nbsp; &nbsp;<span class="co1">// Bottom Right Of The Texture and Quad</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glTexCoord2f</span><span class="br0">&#40;</span><span class="nu0">1</span>.0f, <span class="nu0">1</span>.0f<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glVertex3f</span><span class="br0">&#40;</span>-<span class="nu0">1</span>.0f,&nbsp; <span class="nu0">1</span>.0f,&nbsp; <span class="nu0">1</span>.0f<span class="br0">&#41;</span>;&nbsp; &nbsp;<span class="co1">// Top Right Of The Texture and Quad</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glTexCoord2f</span><span class="br0">&#40;</span><span class="nu0">0</span>.0f, <span class="nu0">1</span>.0f<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glVertex3f</span><span class="br0">&#40;</span>-<span class="nu0">1</span>.0f,&nbsp; <span class="nu0">1</span>.0f, -<span class="nu0">1</span>.0f<span class="br0">&#41;</span>;&nbsp; &nbsp;<span class="co1">// Top Left Of The Texture and Quad</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; GL11.<span class="me1">glEnd</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></div>
</div>
<p><strong>Gracias.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gaanza.com/blog/loading-imagetexture-mapping-in-lwjgl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Diving into Mobile Gaming !!</title>
		<link>http://www.gaanza.com/blog/diving-into-mobile-gaming/</link>
		<comments>http://www.gaanza.com/blog/diving-into-mobile-gaming/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 08:12:34 +0000</pubDate>
		<dc:creator>padam</dc:creator>
				<category><![CDATA[developer]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[j2me]]></category>
		<category><![CDATA[mobile game development]]></category>
		<category><![CDATA[mobile gaming]]></category>

		<guid isPermaLink="false">http://www.gaanza.com/blog/?p=313</guid>
		<description><![CDATA[
Recently my friends suggested me to make games for mobile phones. I haven&#8217;t done any formal course for mobile programming so i did a some search on mobile game development on google and gone through some articles like The Clash of Mobile Platforms: J2ME, ExEn, Mophun and WGE
I have a Nokia N70ME handset and most [...]]]></description>
			<content:encoded><![CDATA[<div class="fblike_button" style="margin: 10px 0;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.gaanza.com%2Fblog%2Fdiving-into-mobile-gaming%2F&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:25px"></iframe></div>
<p>Recently my friends suggested me to make games for mobile phones. I haven&#8217;t done any formal course for mobile programming so i did a some search on mobile game development on google and gone through some articles like <span style="font-family: Verdana; font-weight: bold; font-size: 12pt; color: #003e98;"><a href="http://www.gamedev.net/reference/articles/article1944.asp" target="_blank">The Clash of Mobile Platforms: J2ME, ExEn, Mophun and WGE</a></span></p>
<p><span style="font-size: small;">I have a Nokia N70ME handset and most of my friends have same kinda(specifications) handset. All of them are java enabled. I did a search on their specifications and found that almost all were midp 2.0 enabled. After doing some research on mobile gaming i chose J2ME for developing mobile games because majority of the phones of my target audience are java-enabled so i can reach to masses. Secondly, SUN provides you all the development tools for free. And thirdly i am more comfortable in java programming language so it would be easier for me to pick up things more fast and easily. So i am using netbeans IDE 6.7 with the mobility pack to write my app and its pretty productive and reliable. My next step was to find some good online tutorial to just get started, all basic things. I searched the google and found many useful stuff there:</span></p>
<p><span style="font-size: small;"> <a href="http://developers.sun.com/mobility/midp/articles/gameapi/" target="_blank">http://developers.sun.com/mobility/midp/articles/gameapi/</a></span></p>
<p><span style="font-size: small;"><a href="http://developers.sun.com/mobility/midp/articles/game/" target="_blank">http://developers.sun.com/mobility/midp/articles/game/</a></span></p>
<p><span style="font-size: small;"><a href="http://today.java.net/pub/a/today/2005/07/07/j2me3.html" target="_blank">http://today.java.net/pub/a/today/2005/07/07/j2me3.html</a></span></p>
<p><span style="font-size: small;"><a href="http://www.devx.com/wireless/Article/27167/1954">http://www.devx.com/wireless/Article/27167/1954</a></span></p>
<p><span style="font-size: small;">So i got many stuffs to get started making midp 2.0 games. It didn&#8217;t take too much time to pick up things. I got the concepts easily and started implementing them. I just started with testing codes like drawing images, moving them, rotation etc. After testing all those codes i decided to make very simple 2d side scrolling game. Then i searched for some free sprites on google and got some stuffs on world war 2 theme. Then i asked my friend to make some background images for me and he made some pretty good backgrounds. So then i was off to fly and started making the game.</span></p>
<p><span style="font-size: small;">This is my current progress on game and i am pretty sure that soon i&#8217;ll complete the game and upload here for the download.</span></p>
<p><span style="font-size: small;"><img class="alignnone size-full wp-image-314" title="jungleMobile" src="http://www.gaanza.com/wp-content/uploads/2009/10/jungleMobile.png" alt="jungleMobile" width="248" height="329" /></span></p>
<p><span style="font-size: small;">This is my mobile game project that i am working. Soon i&#8217;l finish it. And important thing is that i am enjoying very much making game for mobile phones. I tested it on my Nokia N70 handset and it worked flawlessly. I am very excited regarding this project.</span></p>
<p><span style="font-size: small;"><strong>Gracias.</strong></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gaanza.com/blog/diving-into-mobile-gaming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting Up LWJGL with Netbeans</title>
		<link>http://www.gaanza.com/blog/setting-up-lwjgl-with-netbeans/</link>
		<comments>http://www.gaanza.com/blog/setting-up-lwjgl-with-netbeans/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 04:41:05 +0000</pubDate>
		<dc:creator>padam</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[opengl]]></category>
		<category><![CDATA[lwjgl]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[setting up lwjgl with netbeans]]></category>

		<guid isPermaLink="false">http://www.gaanza.com/blog/?p=285</guid>
		<description><![CDATA[
On Forums, people keeps asking about setting up lwjgl library with netbeans. So here i am going to show the steps to do that.
STEP 1: Go to Tools-&#62; Libariries.Now create new library. Give it a name say &#8220;lwjgl21&#8243;.

STEP 2: Now we have to configure the library. Click the classpath tab, then click add jars, and [...]]]></description>
			<content:encoded><![CDATA[<div class="fblike_button" style="margin: 10px 0;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.gaanza.com%2Fblog%2Fsetting-up-lwjgl-with-netbeans%2F&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:25px"></iframe></div>
<p>On Forums, people keeps asking about setting up lwjgl library with netbeans. So here i am going to show the steps to do that.</p>
<p><strong>STEP 1: </strong>Go to Tools-&gt; Libariries.Now create new library. Give it a name say &#8220;lwjgl21&#8243;.</p>
<p><img class="alignnone size-full wp-image-286" title="step1" src="http://www.gaanza.com/wp-content/uploads/2009/09/step1.png" alt="step1" width="535" height="213" /></p>
<p><strong>STEP 2:</strong> Now we have to configure the library. Click the classpath tab, then click add jars, and add all the jars shown below:</p>
<p><img class="alignnone size-full wp-image-287" title="step2" src="http://www.gaanza.com/wp-content/uploads/2009/09/step2.png" alt="step2" width="534" height="406" /></p>
<p><strong>STEP 3:</strong> If u want to add java doc than click the javadoc tab, and then add the javadoc folder. Then finally click oK and lwjgl21 library that we have just created is done.</p>
<p><strong>STEP 4:</strong> Now create a empty java project.</p>
<p><img class="alignnone size-full wp-image-288" title="step3" src="http://www.gaanza.com/wp-content/uploads/2009/09/step3.png" alt="step3" width="305" height="144" /></p>
<p><strong>STEP 5:</strong> Now we have to set the properties so that our newly created project can find the lwjgl library and jar files. So Right-Click the project-&gt; Properties. Now check the image carefully and configure accordingly. So first select libraries on the categories section and then click compile tab, and then add jar file for compilation step. This step is very important so check image properly below.</p>
<p><img class="alignnone size-full wp-image-289" title="step4" src="http://www.gaanza.com/wp-content/uploads/2009/09/step4.png" alt="step4" width="578" height="189" /></p>
<p><strong>STEP 6:</strong> Okie now click run tab, and add the library that we had just created. Check the image very properly.</p>
<p><img class="alignnone size-full wp-image-294" title="step5" src="http://www.gaanza.com/wp-content/uploads/2009/09/step51.png" alt="step5" width="548" height="177" /></p>
<p><strong>STEP 7:</strong> Now the final step. We have to provide the argument so that project cud find the necessary dll files. So first select the Run at caregories section then go to vm-options. Check the image properly and follow.</p>
<p><img class="alignnone size-full wp-image-291" title="step6" src="http://www.gaanza.com/wp-content/uploads/2009/09/step6.png" alt="step6" width="565" height="207" /></p>
<p>Okie thats it. Now click ok. So you have just set up lwjgl with your netbeans ide. So now you can compile and run your lwjgl app. I am using netbeans ide 6.7.</p>
<p><strong>Gracias</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gaanza.com/blog/setting-up-lwjgl-with-netbeans/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Game Engines: A Quick Peek</title>
		<link>http://www.gaanza.com/blog/game-engines/</link>
		<comments>http://www.gaanza.com/blog/game-engines/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 13:15:56 +0000</pubDate>
		<dc:creator>padam</dc:creator>
				<category><![CDATA[consoles]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[game engines]]></category>

		<guid isPermaLink="false">http://www.gaanza.com/blog/?p=270</guid>
		<description><![CDATA[
Game Engines are the core libraries which is used as the architecture to develop the game. It cuts down the pressure on development teams as all the complex coding is already written in the engine. The core functions that Game Engine provides are rendering(2d or 3d), physics engine or collision detection, sound, scripting, artificial intelligence. [...]]]></description>
			<content:encoded><![CDATA[<div class="fblike_button" style="margin: 10px 0;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.gaanza.com%2Fblog%2Fgame-engines%2F&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:25px"></iframe></div>
<p><strong>Game Engines</strong> are the core libraries which is used as the architecture to develop the game. It cuts down the pressure on development teams as all the complex coding is already written in the engine. The core functions that Game Engine provides are rendering(2d or 3d), physics engine or collision detection, sound, scripting, artificial intelligence. They provide all the core functionalities needed to develop a game while reducing the costs, complexities and time.</p>
<p>There are libraries that are developed to provide only one specific functions, called <strong>Middleware. </strong><strong>Like Havok </strong>is a middleware which offers developers the foundation for creating realistic physics simulation.</p>
<p>Developers  <strong>license the engines like id tech, unreal </strong>to develop their titles. Some developers use their <strong>in-house proprietry engines</strong> created by themselves for their own titles. And their are also some <strong>free open source engines </strong>out there like OGRE, JMonkeyEngine.</p>
<p><strong><em>Now i&#8217;ll discuss about some very well known Game Engines, Middleware And Engines used in making next-gen games.</em></strong></p>
<p><strong>Unreal Engine:</strong></p>
<p>Unreal is a game engine developed by Epic Games. The games made by this engine are Gears of War franchise, Bioshock, splintercell, MassEffect and many other. This Engine has won the <strong>Game Developer&#8217;s Front Line</strong> awards in engine category for three consecutive awards. This Engine is <strong>Game Developer&#8217;s Front Line Awards 2008 Hall Of Fame winner. </strong>You can read <strong><a href="http://www.gamasutra.com/view/feature/3898/game_developers_front_line_awards_.php?page=2" target="_blank">Why Unreal Engine was the Hall Of Fame Winner</a></strong>.</p>
<p><div id="attachment_271" class="wp-caption alignnone" style="width: 586px"><img class="size-full wp-image-271 " title="gears2vid01" src="http://www.gaanza.com/wp-content/uploads/2009/09/gears2vid01.jpg" alt="gears2vid01" width="576" height="324" /><p class="wp-caption-text">Gears of War 2 made with Unreal engine</p></div></p>
<p><strong>Havok</strong></p>
<p>Havok is a physics engine developed by Havok. Havok offers developers the foundation for creating realistic physics simulation through efficient and optimized calculation. The Titles that used Havok engine are Crackdown, Assassin&#8217;s creed, F.E.A.R 2:Project Origin, Fallout 3, Halo 3 and many more. <strong>Havok won the Game Developer&#8217;s Front Line Awards 2008 in Middleware category</strong>. Read <strong><a href="http://www.gamasutra.com/view/feature/3898/game_developers_front_line_awards_.php?page=5" target="_blank">why Havok won the award ?</a></strong>.</p>
<p><div id="attachment_273" class="wp-caption alignnone" style="width: 490px"><img class="size-full wp-image-273" title="company-of-heroes" src="http://www.gaanza.com/wp-content/uploads/2009/09/company-of-heroes.jpg" alt="company-of-heroes" width="480" height="360" /><p class="wp-caption-text">Company of Heroes using Havok engine</p></div></p>
<p><strong>cryEngine</strong></p>
<p>Developed by CryTek is the force behind those killer graphics of crysis. They set a new standard for visuals. CryTek released a GDC demonstration movie for their latest all-in-one game development solution using cryEngine 3, premiered at GDC 2009 in san fransisco. cryEngine 3 is the first development platform for Xbox 360, Playstation 3, MMO, DX9/DX10 and includes cryEngine 3 Sandbox level editor and &#8220;What you see is what you play&#8221; tool designed for professional developers. 3 comes with significant feartures for consoles and next-gen game development.<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="560" height="340" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0">
<param name="allowFullScreen" value="true" />
<param name="allowscriptaccess" value="always" />
<param name="src" value="http://www.youtube.com/v/_a9KBqTH3sI&amp;hl=en&amp;fs=1&amp;" />
<param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="560" height="340" src="http://www.youtube.com/v/_a9KBqTH3sI&amp;hl=en&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><div id="attachment_275" class="wp-caption alignnone" style="width: 550px"><img class="size-full wp-image-275 " title="crysis" src="http://www.gaanza.com/wp-content/uploads/2009/09/crysis.jpg" alt="crysis" width="540" height="360" /><p class="wp-caption-text">crysis made with cryEngine</p></div></p>
<p><strong>R.A.G.E (Rockstar Advanced Game Engine)</strong></p>
<p>R.A.G.E is a game engine developed by a team called &#8220;Rage Technology Group&#8221; at Rockstar san diego. Rockstar has integrated a few third party middleware like euphoria character animation engine and Bullet physics engine. GTA4 was developed with this cool engine. Rockstar are working on a game Red Dead Redemption which uses R.A.G.E engine. The trailer of Read dead Redemption looks really cool with realistic horses, towns, prairies&#8230;.with ralistic weather. R.A.G.E engine provides functionalities to handle realistic weather effects, complex A.I, large worlds..etc</p>
<p>Check this video of Red Dead Redemption, its jusshows you what R.A.G.E is capable of doing.<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="560" height="340" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0">
<param name="allowFullScreen" value="true" />
<param name="allowscriptaccess" value="always" />
<param name="src" value="http://www.youtube.com/v/cy3wuKIFF88&amp;hl=en&amp;fs=1&amp;" />
<param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="560" height="340" src="http://www.youtube.com/v/cy3wuKIFF88&amp;hl=en&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><div id="attachment_277" class="wp-caption alignnone" style="width: 510px"><img class="size-full wp-image-277" title="gta4" src="http://www.gaanza.com/wp-content/uploads/2009/09/gta4.jpg" alt="gta4" width="500" height="350" /><p class="wp-caption-text">Grand Theft Auto 4 made with R.A.G.E engine</p></div></p>
<p><strong>Naughty Dog Game Engine</strong></p>
<p>This Engine is developed by Naughty Dog. This year naughty Dog showcased their upcoming title Uncharted 2 at sony playstation 3 conference, E3 2009 . I was awestruck by watching the trailer and demo. I had never seen such a cinematic game(demo) before, graphics looked so awesome and cool. Naughty Dog with Uncharted 2 really showed the world what Ps3 is capable to do. So i would say Naughty Dog maxed out the Ps3 with Uncharted 2. The demo showcased realistic environments, smooth animation-interaction, cinematic feel with cinematic camera work <img src='http://www.gaanza.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> &#8230;seamless transition between cinematic and gameplay.<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="560" height="340" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0">
<param name="allowFullScreen" value="true" />
<param name="allowscriptaccess" value="always" />
<param name="src" value="http://www.youtube.com/v/GUPAyGWKd6c&amp;hl=en&amp;fs=1&amp;" />
<param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="560" height="340" src="http://www.youtube.com/v/GUPAyGWKd6c&amp;hl=en&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>So there are other engines also that i haven&#8217;t mentioned like <strong>Valve&#8217;s Source engine</strong> which gave titles like half-life franchise, left 4 dead, <strong>Infinity Ward&#8217;s IW engine</strong> which gave Call Of Duty franchise(not all sequels), <strong>Ubisoft&#8217;s Anvil engine</strong> which was used for Assassin&#8217;s creed&#8230;.<strong>and many more engines.</strong> I have just  quickly looked at just some good engines that took my interest. This post is not on best engines but tells about good engines.</p>
<p><strong>Gracias.</strong></p>
<p><a name="fb_share" type="box_count share_url="http://www.gaanza.com/blog/game-engines/"></a><br />
<script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" 
        type="text/javascript">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gaanza.com/blog/game-engines/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>List Of Good OpenGL and (ES) Books</title>
		<link>http://www.gaanza.com/blog/list-of-good-opengl-and-es-books/</link>
		<comments>http://www.gaanza.com/blog/list-of-good-opengl-and-es-books/#comments</comments>
		<pubDate>Sun, 06 Sep 2009 07:26:11 +0000</pubDate>
		<dc:creator>padam</dc:creator>
				<category><![CDATA[books]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[opengl]]></category>
		<category><![CDATA[OpenGL Books]]></category>

		<guid isPermaLink="false">http://www.gaanza.com/blog/?p=236</guid>
		<description><![CDATA[
These are the list of some popular books on OpenGl and (ES) preffered by many.
OpenGl SuperBible Fourth Edition
It begins by illuminating the core techniques of &#8220;classic&#8221; opengl programming, from drawing in space to geometric transformations, from lighting to texture mapping. The authors covers newer OpenGL capabilities, including OpenGL 2.1&#8217;s powerful programmable pipeline, vertex and fragment [...]]]></description>
			<content:encoded><![CDATA[<div class="fblike_button" style="margin: 10px 0;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.gaanza.com%2Fblog%2Flist-of-good-opengl-and-es-books%2F&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:25px"></iframe></div>
<p><span style="color: #000000;">These are the list of some popular books on OpenGl and (ES) preffered by many.</span></p>
<p><strong><span style="color: #000000;">OpenGl SuperBible Fourth Edition</span></strong></p>
<p><span style="color: #000000;">It begins by illuminating the core techniques of &#8220;classic&#8221; opengl programming, from drawing in space to geometric transformations, from lighting to texture mapping. The authors covers newer OpenGL capabilities, including OpenGL 2.1&#8217;s powerful programmable pipeline, vertex and fragment shaders, and advanced buffers. They also present thorough, up-to-date inroduction to opengl implementation on openl platforms, including windows,mac,linux and embedded systems.<br />
Cove</span><span style="color: #000000;">rage includes</span></p>
<p style="font-family: verdana, sans-serif; color: white; font-size: 12px;"><span style="color: #000000;">·         An entirely new chapter on </span><span style="font-weight: bold;"><span style="color: #000000;">OpenGL</span></span><span style="color: #000000;"> ES programming for handhelds</span></p>
<p style="font-family: verdana, sans-serif; color: white; font-size: 12px;"><span style="color: #000000;">·         Completely rewritten chapters on </span><span style="font-weight: bold;"><span style="color: #000000;">OpenGL</span></span><span style="color: #000000;"> for Mac OS X and GNU/Linux</span></p>
<p style="font-family: verdana, sans-serif; color: white; font-size: 12px;"><span style="color: #000000;">·         Up-to-the-minute coverage of </span><span style="font-weight: bold;"><span style="color: #000000;">OpenGL</span></span><span style="color: #000000;"> on Windows Vista</span></p>
<p style="font-size: 12px;"><span style="color: #000000;">·         New material on floating-point color buffers and off-screen rendering</span></p>
<p style="font-size: 12px;"><span style="color: #000000;">·         In-depth introductions to 3D modeling and object composition</span></p>
<p style="font-family: verdana, sans-serif; color: white; font-size: 12px;"><span style="color: #000000;">·         Expert techniques for utilizing </span><span style="font-weight: bold;"><span style="color: #000000;">OpenGL</span></span><span style="color: #000000;">&#8217;s programmable shading language</span></p>
<p style="font-size: 12px;"><span style="color: #000000;">·         Thorough coverage of curves, surfaces, interactive graphics, textures, shadows, and much more</span></p>
<p style="font-size: 12px;"><span style="color: #000000;">·         A fully updated API reference, and an all-new section of full-color images</span></p>
<p><strong><span style="color: #000000;"><img class="alignnone size-full wp-image-237" title="superbible" src="http://www.gaanza.com/wp-content/uploads/2009/09/superbible.jpg" alt="superbible" width="405" height="500" /></span></strong></p>
<p><strong><span style="color: #000000;">The OpenGl Programming Guide: The Official Guide to Learning OpenGl Version 2.1</span></strong></p>
<p><em><strong><span style="color: #000000;">The OpenGL</span><sup><span style="color: #000000;">®</span></sup><span style="color: #000000;"> Programming Guide, Sixth Edition,</span></strong></em><span style="color: #000000;"> provides definitive and comprehensive information on OpenGL and the OpenGL Utility Library. The previous edition covered OpenGL through Version 2.0. This sixth edition of the best-selling &#8220;red book&#8221; describes the latest features of OpenGL Version 2.1. You will find clear explanations of OpenGL functionality and many basic computer graphics techniques, such as building and rendering 3D models; interactively viewing objects from different perspective points; and using shading, lighting, and texturing effects for greater realism. In addition, this book provides in-depth coverage of advanced techniques, including texture mapping, antialiasing, fog and atmospheric effects, NURBS, image processing, and more. The text also explores other key topics such as enhancing performance, OpenGL extensions, and cross-platform techniques.</span></p>
<p><span style="color: #000000;">This sixth edition has been updated to include the newest features of OpenGL Version 2.1, including:</span></p>
<ul style="list-style-type: disc; margin-top: 1.12em; margin-right: 0px; margin-bottom: 1.12em; margin-left: 20px; padding: 0px;">
<li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 20px;"><span style="color: #000000;">Using server-side pixel buffer objects for fast pixel rectangle download and retrieval</span></li>
<li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 20px;"><span style="color: #000000;">Discussion of the sRGB texture format</span></li>
<li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 20px;"><span style="color: #000000;">Expanded discussion of the OpenGL Shading Language</span></li>
</ul>
<p><span style="color: #000000;">This edition continues the discussion of the OpenGL Shading Language (GLSL) and explains the mechanics of using this language to create complex graphics effects and boost the computational power of OpenGL.</span></p>
<p><span style="color: #000000;">The OpenGL Technical Library provides tutorial and reference books for OpenGL. The Library enables programmers to gain a practical understanding of OpenGL and shows them how to unlock its full potential. Originally developed by SGI, the Library continues to evolve under the auspices of the OpenGL Architecture Review Board (ARB) Steering Group (now part of the Khronos Group), an industry consortium responsible for guiding the evolution of OpenGL and related technologies.</span></p>
<p><strong><span style="color: #000000;"><img class="alignnone size-full wp-image-238" title="redbook" src="http://www.gaanza.com/wp-content/uploads/2009/09/redbook.jpg" alt="redbook" width="381" height="500" /></span></strong></p>
<p><strong><span style="color: #000000;">OpenGL Shading Language 2nd Edition</span></strong></p>
<p style="font-family: verdana, sans-serif; color: white; font-size: 12px;"><span style="font-style: italic;"><span style="font-weight: bold;"><span style="font-weight: bold;"><span style="color: #000000;">OpenGL</span></span><span style="color: #000000;">® </span><span style="font-weight: bold;"><span style="color: #000000;">Shading</span></span><span style="color: #000000;"> </span><span style="font-weight: bold;"><span style="color: #000000;">Language</span></span><span style="color: #000000;">, Second Edition</span></span></span><span style="color: #000000;">, includes updated descriptions for the </span><span style="font-weight: bold;"><span style="color: #000000;">language</span></span><span style="color: #000000;"> and all the GLSL entry points added to </span><span style="font-weight: bold;"><span style="color: #000000;">OpenGL</span></span><span style="color: #000000;"> 2.0; new chapters that discuss lighting, shadows, and surface characteristics; and an under-the-hood look at the implementation of RealWorldz, the most ambitious GLSL application to date. The second edition also features 18 extensive new examples of shaders and their underlying algorithms, including</span></p>
<ul>
<li>
<p style="font-size: 12px;"><span style="color: #000000;">Image-based lighting</span></p>
</li>
</ul>
<ul>
<li>
<p style="font-size: 12px;"><span style="color: #000000;">Lighting with spherical harmonics</span></p>
</li>
</ul>
<ul>
<li>
<p style="font-size: 12px;"><span style="color: #000000;">Ambient occlusion</span></p>
</li>
</ul>
<ul>
<li>
<p style="font-size: 12px;"><span style="color: #000000;">Shadow mapping</span></p>
</li>
</ul>
<ul>
<li>
<p style="font-size: 12px;"><span style="color: #000000;">Volume shadows using deferred lighting</span></p>
</li>
</ul>
<ul>
<li>
<p style="font-size: 12px;"><span style="color: #000000;">Ward&#8217;s BRDF model</span></p>
</li>
</ul>
<p style="font-family: verdana, sans-serif; color: white; font-size: 12px;"><span style="color: #000000;">The color plate section illustrates the power and sophistication of the </span><span style="font-weight: bold;"><span style="color: #000000;">OpenGL</span></span><span style="color: #000000;"> </span><span style="font-weight: bold;"><span style="color: #000000;">Shading</span></span><span style="color: #000000;"> </span><span style="font-weight: bold;"><span style="color: #000000;">Language</span></span><span style="color: #000000;">. The API Function Reference at the end of the book is an excellent guide to the API entry points that support the </span><span style="font-weight: bold;"><span style="color: #000000;">OpenGL</span></span><span style="font-weight: bold;"><span style="color: #000000;">Shading</span></span><span style="color: #000000;"> </span><span style="font-weight: bold;"><span style="color: #000000;">Language</span></span><span style="color: #000000;">. Also included is a convenient Quick Reference Card to GLSL.</span></p>
<p style="font-size: 12px;"><span style="color: #000000;"><img class="alignnone size-full wp-image-239" title="shading" src="http://www.gaanza.com/wp-content/uploads/2009/09/shading.jpg" alt="shading" width="379" height="500" /></span></p>
<p style="font-family: verdana, sans-serif; color: white; font-size: 12px;">
<p style="font-family: verdana, sans-serif; color: white; font-size: 12px;"><strong><span style="color: #000000;">OpenGL ES 2.0 Programming Guide</span></strong></p>
<p style="font-family: verdana, sans-serif; color: white; font-size: 12px;"><span style="color: #000000;">In the </span><span style="font-style: italic;"><span style="font-weight: bold;"><span style="color: #000000;">OpenGL® ES 2.0 Programming Guide</span></span></span><span style="color: #000000;">, three leading authorities on the Open GL ES 2.0 interface—including the specification&#8217;s editor—provide start-to-finish guidance for maximizing the interface&#8217;s value in a wide range of high-performance applications. The authors cover the entire API, including Khronos-ratified extensions. Using detailed C-based code examples, they demonstrate how to set up and program every aspect of the graphics pipeline. You&#8217;ll move from introductory techniques all the way to advanced per-pixel lighting, particle systems, and performance optimization.</span></p>
<p><span style="color: #000000;">Coverage includes:</span></p>
<ul>
<li>
<p style="font-size: 12px;"><span style="color: #000000;">Shaders in depth: creating shader objects, compiling shaders, checking for compile errors, attaching shader objects to program objects, and linking final program objects</span></p>
</li>
<li>
<p style="font-size: 12px;"><span style="color: #000000;">The OpenGL ES Shading Language: variables, types, constructors, structures, arrays, attributes, uniforms, varyings, precision qualifiers, and invariance</span></p>
</li>
<li>
<p style="font-size: 12px;"><span style="color: #000000;">Inputting geometry into the graphics pipeline, and assembling geometry into primitives</span></p>
</li>
<li>
<p style="font-size: 12px;"><span style="color: #000000;">Vertex shaders, their special variables, and their use in per-vertex lighting, skinning, and other applications</span></p>
</li>
<li>
<p style="font-size: 12px;"><span style="color: #000000;">Using fragment shaders—including examples of multitexturing, fog, alpha test, and user clip planes</span></p>
</li>
<li>
<p style="font-size: 12px;"><span style="color: #000000;">Fragment operations: scissor test, stencil test, depth test, multisampling, blending, and dithering</span></p>
</li>
<li>
<p style="font-size: 12px;"><span style="color: #000000;">Advanced rendering: per-pixel lighting with normal maps, environment mapping, particle systems, image post-processing, and projective texturing</span></p>
</li>
<li>
<p style="font-size: 12px;"><span style="color: #000000;">Real-world programming challenges: platform diversity, C++ portability, OpenKODE, and platform-specific shader binaries</span></p>
<p style="font-size: 12px;"><span style="color: #000000;"><img class="alignnone size-full wp-image-240" title="es2.0" src="http://www.gaanza.com/wp-content/uploads/2009/09/es2.0.jpg" alt="es2.0" width="381" height="500" /></span></p>
</li>
</ul>
<p style="font-family: verdana, sans-serif; color: white; font-size: 12px;">
<p style="font-family: verdana, sans-serif; color: white; font-size: 12px;"><strong><span style="color: #000000;">OpenGL Distilled</span></strong></p>
<p style="font-family: verdana, sans-serif; color: white; font-size: 12px;"><span style="font-weight: bold;"><span style="font-style: italic;"><span style="font-weight: bold;"><span style="color: #000000;">OpenGL</span></span><span style="color: #000000;">® </span><span style="font-weight: bold;"><span style="color: #000000;">Distilled</span></span></span></span><span style="color: #000000;"> provides the fundamental information you need to start programming 3D graphics, from setting up an </span><span style="font-weight: bold;"><span style="color: #000000;">OpenGL</span></span><span style="color: #000000;"> development environment to creating realistic textures and shadows. Written in an engaging, easy-to-follow style, this book makes it easy to find the information you&#8217;re looking for. You&#8217;ll quickly learn the essential and most-often-used features of </span><span style="font-weight: bold;"><span style="color: #000000;">OpenGL</span></span><span style="color: #000000;"> 2.0, along with the best coding practices and troubleshooting tips.</span></p>
<p style="font-size: 12px;"><span style="color: #000000;">Topics include</span></p>
<ul>
<li>
<p style="font-size: 12px;"><span style="color: #000000;">Drawing and rendering geometric data such as points, lines, and polygons</span></p>
</li>
<li>
<p style="font-size: 12px;"><span style="color: #000000;">Controlling color and lighting to create elegant graphics</span></p>
</li>
<li>
<p style="font-size: 12px;"><span style="color: #000000;">Creating and orienting views</span></p>
</li>
<li>
<p style="font-size: 12px;"><span style="color: #000000;">Increasing image realism with texture mapping and shadows</span></p>
</li>
<li>
<p style="font-size: 12px;"><span style="color: #000000;">Improving rendering performance</span></p>
</li>
<li>
<p style="font-family: verdana, sans-serif; color: white; font-size: 12px;">
</li>
</ul>
<p style="font-size: 12px;"><span style="color: #000000;">Preserving graphics integrity across platforms</span></p>
<p style="font-size: 12px;"><span style="color: #000000;"><img class="alignnone size-full wp-image-241" title="distilled" src="http://www.gaanza.com/wp-content/uploads/2009/09/distilled.jpg" alt="distilled" width="378" height="500" /></span></p>
<p style="font-family: verdana, sans-serif; color: white; font-size: 12px;"><span style="font-weight: normal;"><strong><span style="color: #000000;">Gracias</span></strong> </span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gaanza.com/blog/list-of-good-opengl-and-es-books/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing or Setting up JOGL on Ubuntu</title>
		<link>http://www.gaanza.com/blog/setting-up-jogl-in-ubuntu/</link>
		<comments>http://www.gaanza.com/blog/setting-up-jogl-in-ubuntu/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 03:50:38 +0000</pubDate>
		<dc:creator>padam</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jogl]]></category>
		<category><![CDATA[jogl on ubuntu]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.gaanza.com/blog/?p=118</guid>
		<description><![CDATA[

Here are the detailed steps to set up or install JOGL on your ubuntu. First of all you have to download the jogl library(according to your machine) from here . I am using Ubuntu 8.04 on intel board so i downloaded jogl-1.1.1-linux-i586.zip.
So extract the zip file. Now open the folder that you have just now [...]]]></description>
			<content:encoded><![CDATA[<div class="fblike_button" style="margin: 10px 0;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.gaanza.com%2Fblog%2Fsetting-up-jogl-in-ubuntu%2F&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:25px"></iframe></div>
<p><img class="aligncenter size-full wp-image-143" title="gl_java_ubuntu1" src="http://www.gaanza.com/wp-content/uploads/2009/06/gl_java_ubuntu1.png" alt="gl_java_ubuntu1" width="500" height="150" /></p>
<p>Here are the detailed steps to set up or install JOGL on your ubuntu. First of all you have to <a href="https://jogl.dev.java.net/servlets/ProjectDocumentList?folderID=9260&amp;expandFolder=9260&amp;folderID=0" target="_self">download</a> the jogl library(according to your machine) from <a href="https://jogl.dev.java.net/servlets/ProjectDocumentList?folderID=9260&amp;expandFolder=9260&amp;folderID=0" target="_blank">here</a> . I am using Ubuntu 8.04 on intel board so i downloaded jogl-1.1.1-linux-i586.zip.</p>
<p>So extract the zip file. Now open the folder that you have just now extracted. Go to lib folder.</p>
<p><strong>STEP 1</strong>: Now you have to copy four .so files i.e libjogl.so, libjogl_awt.so, libjogl_cg.so, libgluegen-rt.so to [javainstalation directory]/jre/lib/i386</p>
<p>Open the terminal window and type: sudo cp libjogl.so /usr/lib/java/jdk1.6.0_13/jre/lib/i386</p>
<p>similarly you have to copy other three .so files.</p>
<p>*you have to provide you java installation path*</p>
<p><img class="alignnone size-full wp-image-120" title="jogl1" src="http://www.gaanza.com/wp-content/uploads/2009/06/jogl1.png" alt="jogl1" width="659" height="125" /></p>
<p>Now you can check the destination if files has been copied.</p>
<p><img class="alignnone size-full wp-image-122" title="jogl21" src="http://www.gaanza.com/wp-content/uploads/2009/06/jogl21.png" alt="jogl21" width="572" height="458" /></p>
<p><strong>STEP 2:</strong> Now copy jogl.jar and gluegen-rt.jar to [java installation di]/jre/lib/ext</p>
<p>run this command to copy: sudo cp jogl.jar /usr/lib/java/jdk1.6.0_13/jre/lib/ext</p>
<p>simillarly copy gluegen-rt.jar</p>
<p>*you have to provide your java installation path*</p>
<p><img class="alignnone size-full wp-image-123" title="jogl3" src="http://www.gaanza.com/wp-content/uploads/2009/06/jogl3.png" alt="jogl3" width="593" height="196" /></p>
<p>You can check:</p>
<p><img class="alignnone size-full wp-image-124" title="jogl4" src="http://www.gaanza.com/wp-content/uploads/2009/06/jogl4.png" alt="jogl4" width="566" height="326" /></p>
<p><strong>STEP 3</strong>: SO thats it. Now lets test the simple jogl code.</p>
<p><em>import javax.media.opengl.GLCapabilities;</em></p>
<p><em>public class Hello{<br />
public static void main (String args[]) {<br />
try {<br />
System.loadLibrary(&#8220;jogl&#8221;);<br />
System.out.println(<br />
&#8220;Hello World! (The native libraries are installed.)&#8221;<br />
);<br />
GLCapabilities caps = new GLCapabilities();<br />
System.out.println(<br />
&#8220;Hello JOGL! (The jar appears to be available.)&#8221;<br />
);<br />
} catch (Exception e) {<br />
System.out.println(e);<br />
}<br />
}<br />
} </em></p>
<p>Now compile this Hello.java and the run it. Here is the output:</p>
<p><img class="alignnone size-full wp-image-125" title="jogl-final" src="http://www.gaanza.com/wp-content/uploads/2009/06/jogl-final.png" alt="jogl-final" width="529" height="125" /></p>
<p>So thats it. Now your are off to fly and write your jogl apps.</p>
<p><strong>Thanks.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gaanza.com/blog/setting-up-jogl-in-ubuntu/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
