<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;A0cBQn4yfCp7ImA9WhVWF0U.&quot;"><id>tag:blogger.com,1999:blog-6543639217010019903</id><updated>2012-04-30T05:30:53.094-07:00</updated><title>Webgl</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://openwebgl.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://openwebgl.blogspot.com/" /><author><name>ninu</name><uri>http://www.blogger.com/profile/04106455220454062515</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/blogspot/ZdBfN" /><feedburner:info uri="blogspot/zdbfn" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>blogspot/ZdBfN</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;A08CSHs9eyp7ImA9WhRVFEk.&quot;"><id>tag:blogger.com,1999:blog-6543639217010019903.post-6176929723597884037</id><published>2012-01-13T02:06:00.000-08:00</published><updated>2012-01-13T02:17:49.563-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-13T02:17:49.563-08:00</app:edited><title>Tutorial 2: Adding Colors</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
In this post, we'll use the previous tutorial code of drawing a square and add colors to it.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-a723046e7b04b763" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="//www.youtube.com/get_player"&gt;
&lt;param name="bgcolor" value="#FFFFFF"&gt;
&lt;param name="allowfullscreen" value="true"&gt;
&lt;param name="flashvars" value="flvurl=http://redirector.googlevideo.com/videoplayback?id%3Da723046e7b04b763%26itag%3D5%26source%3Dblogger%26app%3Dblogger%26cmo%3Dsensitive_content%253Dyes%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1371350291%26sparams%3Did,itag,source,ip,ipbits,expire%26signature%3D820953A9F3777E3FD16D6D79BB6A1E39D3A399AF.A86DAB30C10889C810E777E47A1116BBED1767BA%26key%3Dck2&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3Da723046e7b04b763%26offsetms%3D5000%26itag%3Dw160%26sigh%3Dl6ybbOfEPDwZHGcvFzSR7R0cca0&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;
&lt;embed src="//www.youtube.com/get_player" type="application/x-shockwave-flash"
width="320" height="266" bgcolor="#FFFFFF"
flashvars="flvurl=http://redirector.googlevideo.com/videoplayback?id%3Da723046e7b04b763%26itag%3D5%26source%3Dblogger%26app%3Dblogger%26cmo%3Dsensitive_content%253Dyes%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1371350291%26sparams%3Did,itag,source,ip,ipbits,expire%26signature%3D820953A9F3777E3FD16D6D79BB6A1E39D3A399AF.A86DAB30C10889C810E777E47A1116BBED1767BA%26key%3Dck2&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3Da723046e7b04b763%26offsetms%3D5000%26itag%3Dw160%26sigh%3Dl6ybbOfEPDwZHGcvFzSR7R0cca0&amp;autoplay=0&amp;ps=blogger"
allowFullScreen="true" /&gt;&lt;/object&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Its very easy to add the colors in the OpenSceneGraph model. we just have to add the color attributes to osgjs model file for every vertex. The rest of the code will remain the same. Take a look at the model now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;{&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; "Generator": "OpenSceneGraph 3.0.1",&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; "Version": 1,&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; "osg.Node": {&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; "Children": [ {&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; "osg.Node": {&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "Name": "Box001",&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "Children": [ {&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "osg.Geometry": { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "PrimitiveSetList": [ {&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "DrawArrays": {&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "Count": 4,&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "First": 0,&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "Mode": "TRIANGLE_STRIP"&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } ],&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "VertexAttributeList": { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "Normal": {&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "Elements": [ 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0 ],&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "ItemSize": 3,&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "Type": "ARRAY_BUFFER"&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; },&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp;"Color": {&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "Elements": [ 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1 ],&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "ItemSize": 4,&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "Type": "ARRAY_BUFFER"&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "Vertex": {&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "Elements": [ -50, 50, 0, 50, 50, 0, -50, 50, 100, 50, 50, 100 ],&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "ItemSize": 3,&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "Type": "ARRAY_BUFFER"&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } ]&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; } ]&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; }&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;}&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZdBfN/~4/Ozh3OHIziZQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://openwebgl.blogspot.com/feeds/6176929723597884037/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://openwebgl.blogspot.com/2012/01/tutorial-2-adding-colors.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6543639217010019903/posts/default/6176929723597884037?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6543639217010019903/posts/default/6176929723597884037?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/ZdBfN/~3/Ozh3OHIziZQ/tutorial-2-adding-colors.html" title="Tutorial 2: Adding Colors" /><author><name>ninu</name><uri>http://www.blogger.com/profile/04106455220454062515</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://openwebgl.blogspot.com/2012/01/tutorial-2-adding-colors.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0AARno9eyp7ImA9WhRVFEk.&quot;"><id>tag:blogger.com,1999:blog-6543639217010019903.post-3261307962204080743</id><published>2012-01-12T09:39:00.000-08:00</published><updated>2012-01-13T02:15:47.463-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-13T02:15:47.463-08:00</app:edited><title>Tutorial 1: Square Draw</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
This post is about how to start the webgl window on "osgjs" library. In this tutorial I will draw a simple rectangle in the shortest and the easiest way.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-22d3ee207946cd00" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="//www.youtube.com/get_player"&gt;
&lt;param name="bgcolor" value="#FFFFFF"&gt;
&lt;param name="allowfullscreen" value="true"&gt;
&lt;param name="flashvars" value="flvurl=http://redirector.googlevideo.com/videoplayback?id%3D22d3ee207946cd00%26itag%3D5%26source%3Dblogger%26app%3Dblogger%26cmo%3Dsensitive_content%253Dyes%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1371350291%26sparams%3Did,itag,source,ip,ipbits,expire%26signature%3D6A0DD4B3DDD538EDE6FCDFFD622EB33FF91EC077.B045B1EB82A74C0F17CECBD71D0452112086A8FF%26key%3Dck2&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D22d3ee207946cd00%26offsetms%3D5000%26itag%3Dw160%26sigh%3DNpRvGI960_aKCz5a1mgKjR1ER7o&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;
&lt;embed src="//www.youtube.com/get_player" type="application/x-shockwave-flash"
width="320" height="266" bgcolor="#FFFFFF"
flashvars="flvurl=http://redirector.googlevideo.com/videoplayback?id%3D22d3ee207946cd00%26itag%3D5%26source%3Dblogger%26app%3Dblogger%26cmo%3Dsensitive_content%253Dyes%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1371350291%26sparams%3Did,itag,source,ip,ipbits,expire%26signature%3D6A0DD4B3DDD538EDE6FCDFFD622EB33FF91EC077.B045B1EB82A74C0F17CECBD71D0452112086A8FF%26key%3Dck2&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D22d3ee207946cd00%26offsetms%3D5000%26itag%3Dw160%26sigh%3DNpRvGI960_aKCz5a1mgKjR1ER7o&amp;autoplay=0&amp;ps=blogger"
allowFullScreen="true" /&gt;&lt;/object&gt;
&lt;/div&gt;
&lt;br /&gt;
Lets start with loading the page at which we gonna render our scene.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;i&gt;&amp;lt;html&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;lt;head&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;&amp;lt;title&amp;gt;osgjs&amp;lt;/title&amp;gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;lt;/head&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;lt;body&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;&amp;lt;div id="ViewContainer"&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;&amp;lt;canvas id="webgl" style="border: none;" width="800" height="600"&amp;gt;&amp;lt;/canvas&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;&amp;lt;/div&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;lt;/body&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;lt;/html&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Now lets load the required scripts libraries used. the scripts we used are: jquery and osgjs.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;&amp;lt;script type="text/javascript" src="osg.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp;&amp;lt;script type="text/javascript" src="jquery-1.7.1.min.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Now lets start to write the script in main file. we begin by jquery ready function and initializing the viewer. After that we initiate the viewer.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;$(function () {&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;var canvas = document.getElementById("webgl");&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;var viewer;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;try {&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;viewer = new osgViewer.Viewer(canvas);&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;viewer.init();&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;} catch (er) {&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;osg.log("exception" + er);&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;}&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;});&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
After that the models are loaded into the viewer. the model which we'll load will be a square model described later. The models are loaded with the help of loadmdel function.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;i&gt; &lt;/i&gt;&lt;/span&gt;&lt;i&gt;var node = new osg.Node();&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;loadmodel(node, "model/box.osgjs");&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;viewer.setSceneData(node);&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
The setupManipulator function is used to set the camera of the scene graph. and atlast the viewer run funtion is called to start the rendeing.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;&lt;i&gt;viewer.setupManipulator();&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp;viewer.run();&lt;/i&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;
The loadmodel function uses the jquery azax call to load the model and parse it and add it to the node.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;function loadmodel(node, filename) {&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;$.ajax({&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;url: filename,&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;dataType: 'json',&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;success: function (data) {&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;o = osgDB.parseSceneGraph(data);&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;node.addChild(o);&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;});&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Now the structure of the 'box.osgjs' model file which will have the vertices and the normals to render the scene. you should have some knowledge of the opengl so that you will not say that "hey, whats this? what do you mean by vertices and normals"&lt;br /&gt;
the structure of the openscenegraph is as follow:&lt;br /&gt;
1. osg.node is the containers of other nodes and osg.geometry objects&lt;br /&gt;
2. osg.geometry object contains vertex list which gives the list of the verties to be drawn.&lt;br /&gt;
3. osg.geometry object contains normal list which contains the list of the normanls of the faces.&lt;br /&gt;
4. it also has primiive list which gives the mode, count and no of elements to be drawn as in the opengl function calls.&lt;br /&gt;
more elements to be stated later...&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;{&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;"Generator": "OpenSceneGraph 3.0.1",&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;"Version": 1,&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;"osg.Node": {&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;"Children": [ {&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;"osg.Node": {&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;"Name": "Box001",&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;"Children": [ {&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp;"osg.Geometry": { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;"PrimitiveSetList": [ {&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp;"DrawArrays": {&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;"Count": 4,&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;"First": 0,&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;"Mode": "TRIANGLE_STRIP"&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp;}&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;} ],&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;"VertexAttributeList": {&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp;"Normal": {&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;"Elements": [ 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0 ],&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;"ItemSize": 3,&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;"Type": "ARRAY_BUFFER"&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp;},&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp;"Vertex": {&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;"Elements": [ -5, 5, 0, 5, 5, 0, -5, 5, 10, 5, 5, 10 ],&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;"ItemSize": 3,&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;"Type": "ARRAY_BUFFER"&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp;}&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp;}&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;} ]&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;}&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;} ]&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;}&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/i&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZdBfN/~4/9M9py0N5sV8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://openwebgl.blogspot.com/feeds/3261307962204080743/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://openwebgl.blogspot.com/2012/01/tutorial-1-square-draw.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6543639217010019903/posts/default/3261307962204080743?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6543639217010019903/posts/default/3261307962204080743?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/ZdBfN/~3/9M9py0N5sV8/tutorial-1-square-draw.html" title="Tutorial 1: Square Draw" /><author><name>ninu</name><uri>http://www.blogger.com/profile/04106455220454062515</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://openwebgl.blogspot.com/2012/01/tutorial-1-square-draw.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MNQno-eCp7ImA9WhRVEkw.&quot;"><id>tag:blogger.com,1999:blog-6543639217010019903.post-5372241737850066265</id><published>2012-01-10T10:18:00.000-08:00</published><updated>2012-01-10T10:18:13.450-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-10T10:18:13.450-08:00</app:edited><title>OpenSceneGraph Webgl</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
This blog is for the users of the OpenSceneGrapf users who wants to work in "Webgl". This blog is based on the &lt;a href="http://www.osgjs.org/"&gt;"osgjs"&lt;/a&gt; library developed by Mr Cedric Pinson.&lt;br /&gt;
&lt;br /&gt;
OpenSceneGraph being one of the best 3D graphics toolkits, is being used widely in the fields of virtual reality,scientific visualization, visual simulation, modeling, games, mobile applications, and so on. Although you can use the powerful OpenSceneGraph, which is based on the low-level OpenGL API, to implement applications that simulate different environments in the 3D world, developing picture-perfect applications is easier said than done.&lt;br /&gt;
&lt;br /&gt;
In this blog, we'll provide you with the tutorial series so that you can easily startup your own webgl projects with easy to use "OpenSceneGrapf Javascript" Library.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZdBfN/~4/b275KHkOsxA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://openwebgl.blogspot.com/feeds/5372241737850066265/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://openwebgl.blogspot.com/2012/01/openscenegraph-webgl.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6543639217010019903/posts/default/5372241737850066265?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6543639217010019903/posts/default/5372241737850066265?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/ZdBfN/~3/b275KHkOsxA/openscenegraph-webgl.html" title="OpenSceneGraph Webgl" /><author><name>ninu</name><uri>http://www.blogger.com/profile/04106455220454062515</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://openwebgl.blogspot.com/2012/01/openscenegraph-webgl.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QBR3o5cSp7ImA9WhRVEE8.&quot;"><id>tag:blogger.com,1999:blog-6543639217010019903.post-7021253540193090593</id><published>2012-01-08T01:38:00.000-08:00</published><updated>2012-01-08T03:15:56.429-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-08T03:15:56.429-08:00</app:edited><title>IEwebgl</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
The support for the webgl for the long awaited Internet Explorer has finished with the launch of IEwebgl plugin.&amp;nbsp;IEWebGL is a plugin for Microsoft Internet Explorer web browser, that adds support for WebGL - modern web 3D graphics standard.&lt;br /&gt;
&lt;br /&gt;
&lt;a class="myadclick" href="http://iewebgl.com/Download.aspx"&gt;IEWebglPlugin&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZdBfN/~4/8Ao7c7-Ub04" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://openwebgl.blogspot.com/feeds/7021253540193090593/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://openwebgl.blogspot.com/2012/01/iewebgl.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6543639217010019903/posts/default/7021253540193090593?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6543639217010019903/posts/default/7021253540193090593?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/ZdBfN/~3/8Ao7c7-Ub04/iewebgl.html" title="IEwebgl" /><author><name>ninu</name><uri>http://www.blogger.com/profile/04106455220454062515</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://openwebgl.blogspot.com/2012/01/iewebgl.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEENR3Y8cSp7ImA9WhRVEU0.&quot;"><id>tag:blogger.com,1999:blog-6543639217010019903.post-216358531725166753</id><published>2012-01-08T00:55:00.000-08:00</published><updated>2012-01-09T02:58:16.879-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-09T02:58:16.879-08:00</app:edited><title>Webgl</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
WebGL (Web-based Graphics Library) is a software library that extends the capability of the JavaScript programming language to allow it to generate interactive 3D graphics within any compatible web browser. WebGL code executes on a computer display card's Graphics Processing Unit (GPU), which must support shader rendering.&lt;br /&gt;
WebGL is a context of the canvas HTML element that provides a 3D computer graphics API without the use of plug-ins. The specification was released as version 1.0 on March 3, 2011. WebGL is managed by the non-profit Khronos Group.&lt;br /&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZdBfN/~4/DNxMOhsrd-k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://openwebgl.blogspot.com/feeds/216358531725166753/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://openwebgl.blogspot.com/2012/01/webgl.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6543639217010019903/posts/default/216358531725166753?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6543639217010019903/posts/default/216358531725166753?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/ZdBfN/~3/DNxMOhsrd-k/webgl.html" title="Webgl" /><author><name>ninu</name><uri>http://www.blogger.com/profile/04106455220454062515</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://openwebgl.blogspot.com/2012/01/webgl.html</feedburner:origLink></entry></feed>
