<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>HackLAB</title>
	
	<link>http://www.geeks3d.com/hacklab</link>
	<description>Data Viz, Pixel Hacking et Prog 3D - Status: INACTIVE</description>
	<lastBuildDate>Thu, 09 May 2013 09:08:30 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/geeks3d/hacklab" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="geeks3d/hacklab" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>éclatement de Vidéo en HTML5</title>
		<link>http://www.geeks3d.com/hacklab/20100519/eclatement-de-video-en-html5/</link>
		<comments>http://www.geeks3d.com/hacklab/20100519/eclatement-de-video-en-html5/#comments</comments>
		<pubDate>Wed, 19 May 2010 10:52:24 +0000</pubDate>
		<dc:creator>SPRINGER</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.geeks3d.com/hacklab/?p=625</guid>
		<description><![CDATA[Pour jouer avec des vidéos dans un espace 3D il n&#8217;est pas nécessaire d&#8217;employer WebGL. Craftymind présente ses essais avec l&#8217;appel drawImage() de l&#8217;API Canvas du HTML5: Pour l&#8217;effet en live: c&#8217;est là. Voir un extrait du code: copy.drawImage(video, 0, 0); draw.clearRect(PAINTRECT.x, PAINTRECT.y,PAINTRECT.width,PAINTRECT.height); for(var i=0; i 0.0001){ //expand tile.moveX *= tile.force; tile.moveY *= tile.force; tile.moveRotation <a href="http://www.geeks3d.com/hacklab/20100519/eclatement-de-video-en-html5/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.craftymind.com/2010/04/20/blowing-up-html5-video-and-mapping-it-into-3d-space/"><img alt="" src="http://www.ozone3d.net/~geeks3d/public/springer/201005/html5boom.jpg" title="manipulation de video en HTML5" class="alignnone" width="510" height="335" /></a></p>
<p><span id="more-625"></span></p>
<p>Pour jouer avec des vidéos dans un espace 3D il n&#8217;est pas nécessaire d&#8217;employer WebGL.<br />
<a href="http://www.craftymind.com/2010/04/20/blowing-up-html5-video-and-mapping-it-into-3d-space/">Craftymind</a> présente ses essais avec l&#8217;appel <strong>drawImage()</strong> de l&#8217;API Canvas du HTML5:</p>
<p>Pour l&#8217;effet en live:<br />
<a href="http://craftymind.com/factory/html5video/CanvasVideo.html">c&#8217;est là.</a></p>
<p>Voir un extrait du code:<br />
<em><code><br />
copy.drawImage(video, 0, 0);<br />
	draw.clearRect(PAINTRECT.x, PAINTRECT.y,PAINTRECT.width,PAINTRECT.height);</p>
<p>	for(var i=0; i<tiles.length; i++){<br />
		var tile = tiles[i];<br />
		if(tile.force > 0.0001){<br />
			//expand<br />
			tile.moveX *= tile.force;<br />
			tile.moveY *= tile.force;<br />
			tile.moveRotation *= tile.force;<br />
			tile.currentX += tile.moveX;<br />
			tile.currentY += tile.moveY;<br />
			tile.rotation += tile.moveRotation;<br />
			tile.rotation %= 360;<br />
			tile.force *= 0.9;<br />
			if(tile.currentX <= 0 || tile.currentX >= PAINTRECT.width){<br />
				tile.moveX *= -1;<br />
			}<br />
			if(tile.currentY <= 0 || tile.currentY >= PAINTRECT.height){<br />
				tile.moveY *= -1;<br />
			}</p>
<p></code></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.geeks3d.com/hacklab/20100519/eclatement-de-video-en-html5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Webgl : la video et au dela…</title>
		<link>http://www.geeks3d.com/hacklab/20100415/webgl-la-video-et-au-dela/</link>
		<comments>http://www.geeks3d.com/hacklab/20100415/webgl-la-video-et-au-dela/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 09:59:34 +0000</pubDate>
		<dc:creator>SPRINGER</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[SFX et Animation]]></category>
		<category><![CDATA[WebGL]]></category>
		<category><![CDATA[Webglu]]></category>

		<guid isPermaLink="false">http://www.geeks3d.com/hacklab/?p=597</guid>
		<description><![CDATA[La video omnidirectionnelle on avait déjà vu cela depuis quelque temps mais quoi de mieux qu&#8217;une démo Webgl de Benjamin P. DeLillo avec la librairie Webglu pour la rendre disponible Cette &#8220;video dome&#8221; &#8211;visible avec un navigateur WebGL valide&#8211; donne seulement à voir une rue mais produit un effet de téléprésence et de liberté troublant. <a href="http://www.geeks3d.com/hacklab/20100415/webgl-la-video-et-au-dela/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.cs.rit.edu/~bpd9116/WebGLU/examples/videosphere/videosphere.html"><img alt="" src="http://www.ozone3d.net/~geeks3d/public/springer/201004/videodome.png" title="Video à 360° via Webgl" class="alignnone" width="500" /></a><br />
<span id="more-597"></span><br />
La video omnidirectionnelle on avait déjà vu cela depuis quelque temps mais quoi de mieux qu&#8217;une démo Webgl de <strong>Benjamin P. DeLillo</strong> avec la librairie Webglu pour la rendre disponible</p>
<p>Cette <a href="http://www.cs.rit.edu/~bpd9116/WebGLU/examples/videosphere/videosphere.html">&#8220;video dome&#8221;</a> &#8211;visible avec un navigateur <a href="http://learningwebgl.com/blog/?p=11">WebGL valide</a>&#8211; donne seulement à voir une rue mais produit un effet de téléprésence et de liberté troublant. D&#8217;autant plus qu&#8217;une fois la video arrêtée, le panorama reste orientable&#8230; </p>
<p>La signature des librairies est la suivante :<br />
script type=&#8221;text/javascript&#8221; src=&#8221;../../external/Sylvester.src.js&#8221;> script><br />
script type=&#8221;text/javascript&#8221; src=&#8221;../../src/gameglu.js&#8221;> script><br />
script type=&#8221;text/javascript&#8221; src=&#8221;../../src/webglu.js&#8221;>   script></p>
<p>On peut se demander si <a href="http://web.mit.edu/press/2010/augmented-tv.html">le MIT qui travaille sur le &#8216;raccordement&#8217; de video</a> pour enrichir les émissions de télévision avec leur hors champs a mis lui aussi du webgl dans ses équations. </p>
<p><center><br />
<object id="flashObj" width="486" height="412" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,47,0"><param name="movie" value="http://c.brightcove.com/services/viewer/federated_f9/36804639001?isVid=1" /><param name="bgcolor" value="#FFFFFF" /><param name="flashVars" value="videoId=76756945001&#038;playerID=36804639001&#038;domain=embed&#038;dynamicStreaming=true" /><param name="base" value="http://admin.brightcove.com" /><param name="seamlesstabbing" value="false" /><param name="allowFullScreen" value="true" /><param name="swLiveConnect" value="true" /><param name="allowScriptAccess" value="always" /><embed src="http://c.brightcove.com/services/viewer/federated_f9/36804639001?isVid=1" bgcolor="#FFFFFF" flashVars="videoId=76756945001&#038;playerID=36804639001&#038;domain=embed&#038;dynamicStreaming=true" base="http://admin.brightcove.com" name="flashObj" width="486" height="412" seamlesstabbing="false" type="application/x-shockwave-flash" allowFullScreen="true" swLiveConnect="true" allowScriptAccess="always" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed></object><br />
</center></p>
]]></content:encoded>
			<wfw:commentRss>http://www.geeks3d.com/hacklab/20100415/webgl-la-video-et-au-dela/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>De la Demoscene au WebGL</title>
		<link>http://www.geeks3d.com/hacklab/20100406/de-la-demoscene-au-webgl/</link>
		<comments>http://www.geeks3d.com/hacklab/20100406/de-la-demoscene-au-webgl/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 18:46:13 +0000</pubDate>
		<dc:creator>SPRINGER</dc:creator>
				<category><![CDATA[Demoscene]]></category>
		<category><![CDATA[Technologies]]></category>
		<category><![CDATA[WebGL]]></category>
		<category><![CDATA[256 bytes]]></category>
		<category><![CDATA[Minefield]]></category>
		<category><![CDATA[shader toy]]></category>

		<guid isPermaLink="false">http://www.geeks3d.com/hacklab/?p=589</guid>
		<description><![CDATA[Le site de Dag Ågren wakaba.c3.cx nous propose des démos classiques de compétitions 256 bytes adaptées en WebGL. Comme Iq avec son Shader toy 2 , des acteurs de la Demoscene trouvent désormais avec WebGL une façon encore plus immédiate de donner à voir le coeur de leurs codes. Les amateurs et débutants pourront -avec <a href="http://www.geeks3d.com/hacklab/20100406/de-la-demoscene-au-webgl/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
				<content:encoded><![CDATA[<p><center><br />
<object width="480" height="300"><param name="movie" value="http://www.dailymotion.com/swf/video/xcus85"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed type="application/x-shockwave-flash" src="http://www.dailymotion.com/swf/video/xcus85" width="480" height="300" allowfullscreen="true" allowscriptaccess="always"></embed></object><br />
<br/><br />
</center><br />
<span id="more-589"></span><br />
Le  site de Dag Ågren <a href="http://wakaba.c3.cx/w/shader">wakaba.c3.cx</a> nous propose des démos classiques de compétitions 256 bytes adaptées en WebGL.</p>
<p>Comme Iq avec son <a href="http://www.iquilezles.org/apps/shadertoy/">Shader toy 2</a> , des acteurs de la Demoscene trouvent désormais avec WebGL une façon encore plus immédiate de donner à voir le coeur de leurs codes.</p>
<p>Les amateurs et débutants pourront -avec grand soin et respect- tritouiller shaders et fonctions ésotériques et vérifier leurs intuitions directement dans leur browser ! (rappel : Minefield, Chromium, Webkit&#8230;).</p>
<p>Mais attention, quelques démos comme les superbes &#8220;Cube torus&#8221; et &#8220;Super Spongy&#8221; sont chatouilleuses. Mal choisis, les paramètres de shaders pourraient vous ramener à cet autre classique: le BSoD&#8230;<em>(blue screen of death)</em></p>
<p>Tout cela est encore expérimental et renoue avec la fraîcheur des défis de codeurs.  </p>
]]></content:encoded>
			<wfw:commentRss>http://www.geeks3d.com/hacklab/20100406/de-la-demoscene-au-webgl/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WebGL et Ray Tracing</title>
		<link>http://www.geeks3d.com/hacklab/20100330/webgl-et-ray-tracing/</link>
		<comments>http://www.geeks3d.com/hacklab/20100330/webgl-et-ray-tracing/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 17:24:23 +0000</pubDate>
		<dc:creator>SPRINGER</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[GLSL]]></category>
		<category><![CDATA[Technologies]]></category>
		<category><![CDATA[WebGL]]></category>
		<category><![CDATA[glsl]]></category>
		<category><![CDATA[Minefield]]></category>
		<category><![CDATA[ray tracing]]></category>
		<category><![CDATA[shader]]></category>

		<guid isPermaLink="false">http://www.geeks3d.com/hacklab/?p=585</guid>
		<description><![CDATA[Via le site Learning Webgl une démo qui met en oeuvre le ray tracing dans un canvas WebGL. la démo c&#8217;est par ici (toujours pour les navigateurs aptes au WebGL Minefield, Chromium, Webkit) Et surtout le making of avec l&#8217;ensemble des shaders mais des commentaires en japonais uniquement&#8230;]]></description>
				<content:encoded><![CDATA[<p><center><br />
<a href="http://blog.r3c7.net/?p=446"><img alt="" src="http://www.ozone3d.net/~geeks3d/public/springer/201003/webgl_ray.png" title="Ray tracing et  Webgl" class="alignnone" width="500" /></a><br />
</center><br />
<span id="more-585"></span></p>
<p>Via le site <a href="http://learningwebgl.com/blog/">Learning Webgl</a> une démo qui met en oeuvre le ray tracing dans un canvas WebGL.</p>
<p>la démo c&#8217;est par <a href="http://blog.r3c7.net/wp-content/uploads/webgl/raytrace/">ici</a> (toujours pour les navigateurs aptes au WebGL <strong>Minefield, Chromium, Webkit</strong>)</p>
<p>Et surtout le making of avec <a href="http://kioku.sys-k.net/4kgfxmon/howto/howto04.htm">l&#8217;ensemble des shaders </a> mais des commentaires en japonais uniquement&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geeks3d.com/hacklab/20100330/webgl-et-ray-tracing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WebGL:  Démo Bluffante</title>
		<link>http://www.geeks3d.com/hacklab/20100319/webgl-demo-bluffante/</link>
		<comments>http://www.geeks3d.com/hacklab/20100319/webgl-demo-bluffante/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 17:43:53 +0000</pubDate>
		<dc:creator>SPRINGER</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[WebGL]]></category>

		<guid isPermaLink="false">http://www.geeks3d.com/hacklab/?p=570</guid>
		<description><![CDATA[Un standard émergent a besoin de démos pour nous bluffer, de démos qui ne nous laissent pas le temps de trop penser à la technique mais qui ont une touche de &#8216;magic&#8217;. Après une sympatique démo de système solaire dansant à l&#8217;electro C&#8217;est ce que nous propose les &#8220;Worlds of WebGL&#8221; de Jacob Seidelin A <a href="http://www.geeks3d.com/hacklab/20100319/webgl-demo-bluffante/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
				<content:encoded><![CDATA[<p><center><br />
<img alt="" src="http://www.ozone3d.net/~geeks3d/public/springer/201003/nihilogic.png" title="De la belle démo WebGL" class="alignnone" width="500"  /></a><br />
</center><br />
<span id="more-570"></span><br />
Un standard émergent a besoin de démos pour nous bluffer, de démos qui ne nous laissent pas le temps de trop penser à la technique mais qui ont une touche de &#8216;magic&#8217;.</p>
<p>Après une sympatique <a href="http://www.nihilogic.dk/labs/webgl_musical_solar_system/">démo de système solaire dansant à l&#8217;electro</a></p>
<p>C&#8217;est ce que nous propose les <a href="http://blog.nihilogic.dk/2010/03/worlds-of-webgl.html"> &#8220;Worlds of WebGL&#8221; de Jacob Seidelin</a></p>
<p>A consommer sans modération mais avec un browser <strong>WebGL</strong> valide (<strong>Minefield</strong> plutôt que Chrome&#8230;)</p>
<p>On se penchera ensuite sur le code javascript pour voir s&#8217;il s&#8217;agit de particules, d&#8217;instances avec du LOD et comment le vertex shader travaille les coordonnées etc etc&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geeks3d.com/hacklab/20100319/webgl-demo-bluffante/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>XML3D: encore de la 3D pour l’HTML</title>
		<link>http://www.geeks3d.com/hacklab/20100312/xml3d-encore-de-la-3d-pour-lhtml/</link>
		<comments>http://www.geeks3d.com/hacklab/20100312/xml3d-encore-de-la-3d-pour-lhtml/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 13:59:50 +0000</pubDate>
		<dc:creator>SPRINGER</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Articles]]></category>
		<category><![CDATA[Technologies]]></category>
		<category><![CDATA[WebGL]]></category>
		<category><![CDATA[o3d]]></category>
		<category><![CDATA[ray tracing]]></category>
		<category><![CDATA[xml3d]]></category>

		<guid isPermaLink="false">http://www.geeks3d.com/hacklab/?p=563</guid>
		<description><![CDATA[Que faut-il en penser ? Le site Pcpro indique que lors du CeBIT des chercheurs de l&#8217;Université de Sarre et du centre de recherche allemand en intelligence artificielle ont fait une démonstration d&#8217;un concurrent possible pour WebGL et O3D, le XML3D L&#8217;article anglais parle de &#8216;ray tracing&#8217; &#8230; dans un browser ? Rien n&#8217;est téléchargeable <a href="http://www.geeks3d.com/hacklab/20100312/xml3d-encore-de-la-3d-pour-lhtml/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
				<content:encoded><![CDATA[<p><center><br />
<iframe width="425" height="344" src="http://www.youtube.com/embed/wKQkO7gk1Tc?wmode=transparent" frameborder="0" allowfullscreen> </iframe><br />
</center><br />
<span id="more-563"></span><br />
Que faut-il en penser ?</p>
<p>Le site <a href="http://www.pcpro.co.uk/news/356062/xml3d-the-3d-webs-new-champion">Pcpro</a> indique que lors du CeBIT des chercheurs de l&#8217;Université de Sarre et du centre de recherche allemand en intelligence artificielle ont fait une démonstration d&#8217;un concurrent possible pour WebGL et O3D, le <a href="http://www.xml3d.com/">XML3D</a></p>
<p>L&#8217;article anglais parle de &#8216;ray tracing&#8217; &#8230; dans un browser ?</p>
<p>Rien n&#8217;est téléchargeable pour l&#8217;instant, il ne nous reste donc qu&#8217;un petit film à disséquer (celui au début du billet).</p>
<p>Autre source d&#8217;info et discussion sur les différences avec le VRML et X3D : <a href="http://www.synergy-space.com/index.php/3d/3d/1282-xml3d-le-langage-informatique-pour-la-navigation-en-3d-sur-internet">le bulletin de l&#8217;ambassade de France en Allemagne</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.geeks3d.com/hacklab/20100312/xml3d-encore-de-la-3d-pour-lhtml/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WebGL: les Blogs à Suivre</title>
		<link>http://www.geeks3d.com/hacklab/20100301/webgl-les-blogs-a-suivre/</link>
		<comments>http://www.geeks3d.com/hacklab/20100301/webgl-les-blogs-a-suivre/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 12:37:07 +0000</pubDate>
		<dc:creator>SPRINGER</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[WebGL]]></category>
		<category><![CDATA[cl3d]]></category>
		<category><![CDATA[glge]]></category>
		<category><![CDATA[X3D]]></category>
		<category><![CDATA[x3dom]]></category>

		<guid isPermaLink="false">http://www.geeks3d.com/hacklab/?p=535</guid>
		<description><![CDATA[JeGX m&#8217;a demandé de faire un point sur le WebGL et les sites qui proposent des tutoriaux: Le premier en vue est learningwebgl mais avant tout il faut se procurer un navigateur capable de rendre des scènes WebGL ; le plus stable semble bien être Minefield, la version expérimentale de Firefox qu&#8217;il vous faudra configurer <a href="http://www.geeks3d.com/hacklab/20100301/webgl-les-blogs-a-suivre/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
				<content:encoded><![CDATA[<p><center><br />
<a href="http://learningwebgl.com/blog/?p=28"><img alt="" src="http://www.ozone3d.net/~geeks3d/public/springer/201003/webgl_mymap.png" title="les sites et librairies pour commencer en WebGL" class="alignnone" width="500" /></a><br />
</center><br />
<span id="more-535"></span><br />
JeGX m&#8217;a demandé de faire un point sur le WebGL et les sites qui proposent des tutoriaux:</p>
<p>Le premier en vue est <a href="http://learningwebgl.com/blog/">learningwebgl</a> mais avant tout il faut se procurer un navigateur capable de rendre des scènes WebGL ;  le plus stable semble bien être <a href="http://www.mozilla.org/projects/minefield/">Minefield</a>, la version expérimentale de Firefox qu&#8217;il vous faudra configurer selon les bons conseils de LearningWebgl.</p>
<p>Les tuto de ce site sont repris de la célèbre suite de NeHe sur OpenGL.<br />
Les scènes basiques fonctionnent bien dans le navigateur parfois avec les textures arrivant avec un léger retard. Le redimensionement du canvas avec la page est sympa mais on constate parfois un rythme un peu hâché, comme décalé de la synchro verticale. </p>
<p>La particularité de tous ces exemples et tuto en WebGL c&#8217;est le recours à des librairies javascript extérieures pour des calculs de matrices ou des tâches non intégrées à WebGL comme la définition de la vue perspective.</p>
<p>Ainsi dans la leçon N°1 de Learning Web les fonctions Matrix, makePerspective ne sont pas du WebGL mais des renvois  à deux libs <strong>glUtils</strong><br />
 et <strong>Sylvester</strong>:</p>
<pre>
  var mvMatrix;

  function loadIdentity() {
    mvMatrix = Matrix.I(4);
  }


  function multMatrix(m) {
    mvMatrix = mvMatrix.x(m);
  }


  function mvTranslate(v) {
    var m = Matrix.Translation($V([v[0], v[1], v[2]])).ensure4x4();
    multMatrix(m);
  }


  var pMatrix;
  function perspective(fovy, aspect, znear, zfar) {
    pMatrix = makePerspective(fovy, aspect, znear, zfar);
  }


  function setMatrixUniforms() {
    gl.uniformMatrix4fv(shaderProgram.pMatrixUniform, false, new WebGLFloatArray(pMatrix.flatten()));
    gl.uniformMatrix4fv(shaderProgram.mvMatrixUniform, false, new WebGLFloatArray(mvMatrix.flatten()));
  }
</pre>
<p>Le blog <a href="http://www.rozengain.com/blog/2010/02/22/beginning-webgl-step-by-step-tutorial/">rozengain.com</a> propose justement de voir à quoi ressemble du code WebGL sans aucun lien vers une librairie tierce. Par exemple pour réaliser la vue perspective sans la lib Sylvester:</p>
<pre>
//    Define the viewing frustum parameters
//    More info: http://en.wikipedia.org/wiki/Viewing_frustum
//    More info: http://knol.google.com/k/view-frustum
var fieldOfView = 30.0;
var aspectRatio = canvas.width / canvas.height;
var nearPlane = 1.0;
var farPlane = 10000.0;
var top = nearPlane * Math.tan(fieldOfView * Math.PI / 360.0);
var bottom = -top;
var right = top * aspectRatio;
var left = -right;

//     Create the perspective matrix. The OpenGL function that's normally used for this,
//     glFrustum() is not included in the WebGL API. That's why we have to do it manually here.
//     More info: http://www.cs.utk.edu/~vose/c-stuff/opengl/glFrustum.html
var a = (right + left) / (right - left);
var b = (top + bottom) / (top - bottom);
var c = (farPlane + nearPlane) / (farPlane - nearPlane);
var d = (2 * farPlane * nearPlane) / (farPlane - nearPlane);
var x = (2 * nearPlane) / (right - left);
var y = (2 * nearPlane) / (top - bottom);
var perspectiveMatrix = [
	x, 0, a, 0,
	0, y, b, 0,
	0, 0, c, d,
	0, 0, -1, 0
];
</pre>
<p>A surveiller aussi les sites:</p>
<p>-<a href="http://www.glge.org/">GLGE</a> avec des démos de brouillard, d&#8217;ombres et de lumières dynamiques.</p>
<p>-<a href="http://www.c3dl.org/">C3DL</a> avec des tutoriaux sur la lumière et  les modèles Collada</p>
<p>-<a href="http://spidergl.org/code.php">SpiderGL</a> avec de beaux exemples dont celui<a href="http://spidergl.org/example.php?id=9"> des textures polynomiales</a> sur lesquelles on fait varier l&#8217;éclairage</p>
<p>-Prometteur et doté d&#8217;une belle console en ligne, le site de Lindsay Kay<br />
<a href="http://www.scenejs.com/">SceneJS</a>. Il est un peu plus complexe d&#8217;y appréhender l&#8217;ensemble des fonctions et l&#8217;organisation des éléments</p>
<p>Par exemple le chargement d&#8217;un nuage de teapots par une fonction stockée extérieurement: </p>
<pre>
 generator(
	(function() {
		var elems = [];
		for (var i = 0; i < 500; i++) {
			elems.push({
				x: (250 * Math.random()) - 125.0,
				y: (50 * Math.random()) - 25.0,
				z: (1800 * Math.random()) - 250.0
			});
		}
		var j = 0;
		return function() {
			if (j < elems.length) {
				return { param: elems[j++] };
			} else {
				j = 0;
			}
		};
	})(),
	translate(function(scope) {
		return scope.get("param");
	},
			scale(function(scope) {
				return {
					x:2 ,
					y:2,
					z:2};
			},
					objects.teapot()
					)
			)
	)
)
</pre>
<p>Autre nouveauté: <strong>le X3D n'est pas mort</strong> ! Grâce à l'institut Fraunhofer, il est même sauvé par le WebGL. </p>
<p><center><br />
<a href="http://www.x3dom.org/?page_id=5"><img alt="" src="http://www.ozone3d.net/~geeks3d/public/springer/201003/x3dom.png" title="X3D + DOM + WebGL = X3DOM" class="alignnone" width="500" /></a><br />
</center></p>
<p> le framework <a href="http://www.x3dom.org/?p=*">X3DOM</a> encapsule des scènes X3D via le Document Object Model manipulé en Javascript. Les exemples fournis sont très élégants avec des vues à multiples viewports, l'emploi de Jquery... voyez l'exemple avec  :<br />
<a href="http://x3dom.org/x3dom/example/x3dom_video.xhtml">plusieurs types de fichiers video en textures</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.geeks3d.com/hacklab/20100301/webgl-les-blogs-a-suivre/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>cymatics : temps réel et sans GPU</title>
		<link>http://www.geeks3d.com/hacklab/20100119/cymatics-temps-reel-et-sans-gpu/</link>
		<comments>http://www.geeks3d.com/hacklab/20100119/cymatics-temps-reel-et-sans-gpu/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 15:27:50 +0000</pubDate>
		<dc:creator>SPRINGER</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[EnVrac]]></category>
		<category><![CDATA[cymatics]]></category>
		<category><![CDATA[cymatique]]></category>

		<guid isPermaLink="false">http://www.geeks3d.com/hacklab/?p=519</guid>
		<description><![CDATA[A la frontière de la science sérieuse et des interrogations sur les phénomènes étranges la discipline dite &#8220;cymatique&#8221; fondée par Hans Jenny étudie les vibrations sonores dans les solides et liquides et les formes étonnantes que les voix et les mélodies y produisent. Il s&#8217;agit de simples observations de plans ou de volumes de liquides <a href="http://www.geeks3d.com/hacklab/20100119/cymatics-temps-reel-et-sans-gpu/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
				<content:encoded><![CDATA[<p><center><br />
<a href="http://www.cymatics.org/"><img width="500" alt="22 Hertz  + H2O..." src="http://www.ozone3d.net/~geeks3d/public/springer/201001/cymatics_22hz.jpg" title="22 Hertz  + H2O..." class="alignnone" width="500" /></a><br />
</center><br />
<span id="more-519"></span><br />
A la frontière de la science sérieuse et des interrogations sur les phénomènes étranges la discipline dite &#8220;cymatique&#8221; fondée par Hans Jenny étudie les vibrations sonores dans les solides et liquides et les formes étonnantes que les voix et les mélodies y produisent. </p>
<p>Il s&#8217;agit de simples observations de plans ou de volumes de liquides et donc pas de simulation informatique. Historiquement, cette science relie la physique et d&#8217;autres champs comme la lutherie, pour l&#8217;étude des résonances acoustiques des instruments. <a href="http://www.cymatics.org/">www.cymatics.org</a>.</p>
<p>Mais depuis que la sonde <a href="http://saturn.jpl.nasa.gov/photos/imagedetails/index.cfm?imageId=3769">Cassini</a> a confirmé la présence d&#8217;une structure <strong>hexagonale</strong> sur Saturne, l&#8217;astronomie&#8230;et l&#8217;Ufologie se mêlent aussi de cymatique&#8230;</p>
<p><center><br />
<iframe width="425" height="344" src="http://www.youtube.com/embed/BXy_8KVZS9I?wmode=transparent" frameborder="0" allowfullscreen> </iframe><br />
</center></p>
<p>Pour les amateurs de simulations 2D et 3D le site Cymatics renvoie <a href="http://www.falstad.com/wavebox/">aux applets java de Paul Falstad</a> pour les figures d&#8217;interférences de base.</p>
<p>Au fait ça ferait de beaux tests OpenCL des vagues 3D ?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geeks3d.com/hacklab/20100119/cymatics-temps-reel-et-sans-gpu/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Envoyer des Tweets depuis GeeXLab avec SocialLua</title>
		<link>http://www.geeks3d.com/hacklab/20100107/envoyer-des-tweets-depuis-geexlab-avec-sociallua/</link>
		<comments>http://www.geeks3d.com/hacklab/20100107/envoyer-des-tweets-depuis-geexlab-avec-sociallua/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 16:14:17 +0000</pubDate>
		<dc:creator>JeGX</dc:creator>
				<category><![CDATA[GeeXLab]]></category>
		<category><![CDATA[Lua]]></category>
		<category><![CDATA[sociallua]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.geeks3d.com/hacklab/?p=513</guid>
		<description><![CDATA[SocialLua est une librairie Lua dont le but est de proposer une interface pour les principaux sites web 2.0 et reseaux sociaux comme Twitter. La documentation est pour le moment très limité mais on peut imaginer que d&#8217;autres sites comme digg ou stumbleupon seront par la suite supportés. Comme GeeXLab supporte Lua, vous pouvez normalement <a href="http://www.geeks3d.com/hacklab/20100107/envoyer-des-tweets-depuis-geexlab-avec-sociallua/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
				<content:encoded><![CDATA[<p><center></p>
<p><img src="http://www.geeks3d.com/public/jegx/201001/social_sites.jpg" alt="Sites sociaux - SocialLua"/></a></p>
<p></center><br />
<span id="more-513"></span></p>
<p><a href="http://github.com/TheLinx/SocialLua">SocialLua</a> est une librairie Lua dont le but est de proposer une interface pour les principaux sites web 2.0 et reseaux sociaux comme Twitter. La documentation est pour le moment très limité mais on peut imaginer que d&#8217;autres sites comme digg ou stumbleupon seront par la suite supportés.</p>
<p>Comme <a href="http://www.geeks3d.com/geexlab/">GeeXLab</a> supporte Lua, vous pouvez normalement tester cette librairie de manière relativement simple.</p>
<pre>
require("social.twitter")
social.twitter.tweet("Hello from SocialLua!", username, password)
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.geeks3d.com/hacklab/20100107/envoyer-des-tweets-depuis-geexlab-avec-sociallua/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Et pour finir 2009 : une masterclass</title>
		<link>http://www.geeks3d.com/hacklab/20091230/et-pour-finir-2009-une-masterclass/</link>
		<comments>http://www.geeks3d.com/hacklab/20091230/et-pour-finir-2009-une-masterclass/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 22:29:47 +0000</pubDate>
		<dc:creator>SPRINGER</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Demoscene]]></category>
		<category><![CDATA[DirectX]]></category>
		<category><![CDATA[Programmation]]></category>
		<category><![CDATA[SFX et Animation]]></category>

		<guid isPermaLink="false">http://www.geeks3d.com/hacklab/?p=502</guid>
		<description><![CDATA[Dans le reportage sur Breakpoint 2008 Navis ne livre pas beaucoup de secrets, c&#8217;est pourtant quand ils dévoilent une partie de leurs recettes que les demosceners gagnent une stature digne de leur talent. Comme les savants artistes de la Renaissance, ils témoignent à la fois d&#8217;une grande sensibilité dans plusieurs domaines et d&#8217;une maîtrise parfaite <a href="http://www.geeks3d.com/hacklab/20091230/et-pour-finir-2009-une-masterclass/"> read more <span class="meta-nav">&#187;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://iquilezles.org/www/material/function2009/function2009.pdf"><img alt="" src="http://www.ozone3d.net/~geeks3d/public/springer/200912/iq_function.png" title="Iq membre du groupe RGBA et sa démo Elevated" class="alignnone" width="500" /></a><br />
<span id="more-502"></span><br />
Dans le reportage sur Breakpoint 2008 Navis ne livre pas beaucoup de secrets,<br />
c&#8217;est pourtant quand ils dévoilent une partie de leurs recettes que les demosceners<br />
gagnent une stature digne de leur talent.<br />
Comme les savants artistes de la Renaissance, ils témoignent à la fois d&#8217;une grande sensibilité<br />
dans plusieurs domaines et d&#8217;une maîtrise parfaite de la science sous jacente.</p>
<p>Pas seulement geeks dans la pénombre mais aussi représentants des Lumières à leur façon.</p>
<p>Admiration oui, mais aussi Explication.</p>
<p>Ainsi vous avez certainement plané sur le synthé de la démo <a href="http://iquilezles.org/prods/">elevated</a><br />
<a href="http://iquilezles.org/www/material/function2009/function2009.pdf">eh bien planchez maintenant&#8230;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.geeks3d.com/hacklab/20091230/et-pour-finir-2009-une-masterclass/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
