<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Icarez's Blog &#187; Irrlicht</title>
	<atom:link href="http://icarez.wordpress.com/tag/irrlicht/feed/" rel="self" type="application/rss+xml" />
	<link>http://icarez.wordpress.com</link>
	<description>Web développement, Drupal, Haxe, 3D, Traitement d'images, and so on...</description>
	<lastBuildDate>Wed, 17 Feb 2010 15:08:11 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='icarez.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/a7f8df0c917213525ed968e3543a6db1?s=96&#038;d=http://s2.wp.com/i/buttonw-com.png</url>
		<title>Icarez's Blog &#187; Irrlicht</title>
		<link>http://icarez.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://icarez.wordpress.com/osd.xml" title="Icarez&#8217;s Blog" />
	<atom:link rel='hub' href='http://icarez.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Irrlicht : installation</title>
		<link>http://icarez.wordpress.com/2008/12/10/irrlicht-installation/</link>
		<comments>http://icarez.wordpress.com/2008/12/10/irrlicht-installation/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 22:43:06 +0000</pubDate>
		<dc:creator>icarez</dc:creator>
				<category><![CDATA[Irrlicht]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://icarez.wordpress.com/?p=98</guid>
		<description><![CDATA[

Voici donc un tutorial concernant l&#8217;installation d&#8217;Irrlicht sur une machine Windows.
Il faut dans un premier temps,
 

soit récupérer le package Irrlicht déjà compilé pour windows (méthode la plus simple)  our ceux qui veulent les dernières sources, un site  (http://irrlicht.convextech.ca/) met à disposition un système qui compile les dernières sources et les propose en téléchargement. On choisera alors &#171;&#160;Core, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=icarez.wordpress.com&blog=5698168&post=98&subd=icarez&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class="mceTemp" style="text-align:center;">
<div class="wp-caption alignleft" style="width: 196px"><img class=" " title="Logo IrrLicht" src="http://irrlicht.sourceforge.net/phpBB2/templates/subSilver/images/logo_phpBB.gif" alt="Logo IrrLicht" width="186" height="48" /><p class="wp-caption-text">Logo IrrLicht</p></div>
</div>
<div class="mceTemp" style="text-align:left;">Voici donc un tutorial concernant l&#8217;installation d&#8217;Irrlicht sur une machine Windows.</div>
<p>Il faut dans un premier temps,</p>
<p> </p>
<ul>
<li>soit récupérer le package Irrlicht déjà compilé pour windows (méthode la plus simple) <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> our ceux qui veulent les dernières sources, un site  (<a href="http://irrlicht.convextech.ca/">http://irrlicht.convextech.ca/</a>) met à disposition un système qui compile les dernières sources et les propose en téléchargement. On choisera alors &laquo;&nbsp;Core, Examples and Tools&nbsp;&raquo;, la compression zip, et on prendra un téléchargement pour Windows x86.Sinon, il y a  le package officiel :  vous pouvez aller à l&#8217;adresse : <a href="http://irrlicht.sourceforge.net/downloads.html">http://irrlicht.sourceforge.net/downloads.html</a> Il ne reste plus qu&#8217;à télécharger l&#8217;un des deux et de décompresser l&#8217;archive quelque part sur votre disque dur. <br />
 </li>
<li>soit télécharger les dernières sources de SVN <a href="//irrlicht.svn.sourceforge.net/svnroot/irrlicht/branches/releases/1.5/ irrlicht-1.5">https://irrlicht.svn.sourceforge.net/svnroot/irrlicht/branches/releases/1.5/ irrlicht-1.5</a> , et les compiler soit même.</li>
</ul>
<p>Ensuite il faudra indiquer à Visual Studio ou encore Code::Blocks, l&#8217;emplacement des includes et des librairies de Irrlicht (voir mises à jour de l&#8217;article).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/icarez.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/icarez.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/icarez.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/icarez.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/icarez.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/icarez.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/icarez.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/icarez.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/icarez.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/icarez.wordpress.com/98/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=icarez.wordpress.com&blog=5698168&post=98&subd=icarez&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://icarez.wordpress.com/2008/12/10/irrlicht-installation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f8fcc12078342e664ebf15e7619f873c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">icarez</media:title>
		</media:content>

		<media:content url="http://irrlicht.sourceforge.net/phpBB2/templates/subSilver/images/logo_phpBB.gif" medium="image">
			<media:title type="html">Logo IrrLicht</media:title>
		</media:content>
	</item>
		<item>
		<title>Irrlicht : Sélection de faces.</title>
		<link>http://icarez.wordpress.com/2008/12/02/irrlicht-selection-de-faces/</link>
		<comments>http://icarez.wordpress.com/2008/12/02/irrlicht-selection-de-faces/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 17:46:34 +0000</pubDate>
		<dc:creator>icarez</dc:creator>
				<category><![CDATA[Irrlicht]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[ray tracing]]></category>

		<guid isPermaLink="false">http://icarez.wordpress.com/?p=76</guid>
		<description><![CDATA[Dans le cadre d&#8217;un de mes projets, un utilisateur devait pouvoir cliquer sur une face et une arrête d&#8217;un objet, non aligné avec les axes (x,y,z), donc avec pour moi l&#8217;impossibilité d&#8217;utiliser les Bounding Box proposée par Irrlicht.
Il fallait alors lancer le rayon depuis la souris à chaque frame, et déterminer quelle face traversée par [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=icarez.wordpress.com&blog=5698168&post=76&subd=icarez&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Dans le cadre d&#8217;un de mes projets, un utilisateur devait pouvoir cliquer sur une face et une arrête d&#8217;un objet, non aligné avec les axes (x,y,z), donc avec pour moi l&#8217;impossibilité d&#8217;utiliser les Bounding Box proposée par Irrlicht.</p>
<p>Il fallait alors lancer le rayon depuis la souris à chaque frame, et déterminer quelle face traversée par ce rayon est la plus proche de la caméra.</p>
<p>Avec l&#8217;aide de rogerborg du forum d&#8217;Irrlicht, qui me donna la solution pour les arrêtes, j&#8217;ai enfin réussi à trouver le code nécessaire pour la scène node face qui permet cela.</p>
<p>Le voici :</p>
<pre class="brush: cpp;">

/!*
*\author : Icarez
*\date : SEPTEMBER 2008
*\brief : a face scene node with selection from mouse
**/
&lt;pre&gt;using namespace irr;&lt;/pre&gt;
#pragma comment(lib, &quot;Irrlicht.lib&quot;)

class SelectableFacesNode : public scene::ISceneNode
{
core::aabbox3df Box;
std::vector Faces;
std::vector corners;
//core::array Edges;
core::array EdgeUnitVectors;
video::SMaterial Material;
int SelectedFace;

public:

SelectableFacesNode(scene::ISceneNode* parent, scene::ISceneManager* mgr, s32 id)
: scene::ISceneNode(parent, mgr, id)
{
SelectedFace = -1;
Material.Wireframe = false;
Material.Lighting = false;
// Material.TextureLayer[0].Texture[0].

corners.push_back(core::vector3df(0, 14, 0));
corners.push_back(core::vector3df(-10, 0, -10));
corners.push_back(core::vector3df(10, 0, -10));
corners.push_back(core::vector3df(0, 0, 14));

for(int corner1 = 0; corner1 &lt; 4; ++corner1){
for(int corner2 = corner1 + 1; corner2 &lt; 4; ++corner2)
{
for(int corner3 = corner2+1; corner3 &lt;4; ++corner3)
{
const core::triangle3df face(corners[corner1], corners[corner2], corners[corner3]);
Faces.push_back(face);
}

}
}

/*Vertices[0] = video::S3DVertex(0,0,10, 1,1,0,video::SColor(255,0,255,255),0,1);
Vertices[1] = video::S3DVertex(10,0,-10, 1,0,0,video::SColor(255,255,0,255),1,1);
Vertices[2] = video::S3DVertex(0,20,0, 0,1,1,video::SColor(255,255,255,0),1,0);
Vertices[3] = video::S3DVertex(-10,0,-10, 0,0,1,video::SColor(255,0,255,0),0,0);*/

Box.reset(corners[0]);
for (s32 i=1; iregisterNodeForRendering(this);

ISceneNode::OnRegisterSceneNode();
}

virtual void render()
{
u16 indices[] = { 0,2,3, 2,1,3, 1,0,3, 2,0,1 };

video::IVideoDriver* driver = SceneManager-&gt;getVideoDriver();

driver-&gt;setMaterial(Material);
driver-&gt;setTransform(video::ETS_WORLD, AbsoluteTransformation);

for(u32 face = 0; face draw3DTriangle(Faces[face], video::SColor(255, 0, 255, 0));
else
driver-&gt;draw3DTriangle(Faces[face], video::SColor(255, 0, 0, 255));

}

}

virtual const core::aabbox3d&amp; getBoundingBox() const
{
return Box;
}

virtual u32 getMaterialCount() const
{
return 1;
}

virtual video::SMaterial&amp; getMaterial(u32 i)
{
return Material;
}

void testLineIntersectionWithEdges(const core::line3df &amp; line)
{
core::line3df localLine(line);
core::matrix4 inverseTransform;
if(!AbsoluteTransformation.getInverse(inverseTransform))
return;

inverseTransform.transformVect(localLine.start);
inverseTransform.transformVect(localLine.end);

const core::vector3df lineUnit = localLine.getVector().normalize();

const f32 VirtualEdgeThicknessSq = 6.f * 3.f; // Thicken up the edge
f32 closestToLineSq = VirtualEdgeThicknessSq;

SelectedFace = -1;
for(u32 face = 0; face &lt; 4; ++face)
{
/*core::vector3df normal = lineUnit.crossProduct(EdgeUnitVectors[edge]);
normal = EdgeUnitVectors[edge].crossProduct(normal);*/

core::plane3df plane = Faces.at(face).getPlane();

core::vector3df intersection;
if(Faces.at(face).getIntersectionWithLine(localLine.start, lineUnit, intersection))
{
const core::vector3df nearestPoint = Faces[face].closestPointOnTriangle(intersection);
const f32 distanceToLineSq = intersection.getDistanceFromSQ(nearestPoint);

if(distanceToLineSq &lt;= closestToLineSq)
{
closestToLineSq = distanceToLineSq;
SelectedFace = face;
}
}
}
}
};

int main()
{
IrrlichtDevice *device =
createDevice(video::EDT_OPENGL, core::dimension2d(640, 480), 16, false);

if (device == 0)
return 1; // could not create selected driver.

video::IVideoDriver* driver = device-&gt;getVideoDriver();
scene::ISceneManager* smgr = device-&gt;getSceneManager();

smgr-&gt;addCameraSceneNode(0, core::vector3df(0,0,-40), core::vector3df(0,0,0));

SelectableFacesNode *myNode =
new SelectableFacesNode(smgr-&gt;getRootSceneNode(), smgr, 666);

scene::ISceneNodeAnimator* anim =
smgr-&gt;createRotationAnimator(core::vector3df(0.3f, 0, 0.3f));

myNode-&gt;addAnimator(anim);
anim-&gt;drop();

while(device-&gt;run())
{
core::line3df cursorRay = smgr-&gt;getSceneCollisionManager()-&gt;getRayFromScreenCoordinates(device-&gt;getCursorControl()-&gt;getPosition());

myNode-&gt;testLineIntersectionWithEdges(cursorRay);

driver-&gt;beginScene(true, true, video::SColor(0,100,100,100));
smgr-&gt;drawAll();
driver-&gt;endScene();
}

myNode-&gt;drop();
device-&gt;drop();
return 0;
}
</pre>
<p>Vous pouvez également trouver ce code avec celui pour les aretes sur le <a href="http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=29926&amp;highlight=">forum Irrlicht</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/icarez.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/icarez.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/icarez.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/icarez.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/icarez.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/icarez.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/icarez.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/icarez.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/icarez.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/icarez.wordpress.com/76/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=icarez.wordpress.com&blog=5698168&post=76&subd=icarez&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://icarez.wordpress.com/2008/12/02/irrlicht-selection-de-faces/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f8fcc12078342e664ebf15e7619f873c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">icarez</media:title>
		</media:content>
	</item>
		<item>
		<title>Irrlicht : présentation</title>
		<link>http://icarez.wordpress.com/2008/12/02/irrlicht-presentation/</link>
		<comments>http://icarez.wordpress.com/2008/12/02/irrlicht-presentation/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 09:42:49 +0000</pubDate>
		<dc:creator>icarez</dc:creator>
				<category><![CDATA[Irrlicht]]></category>
		<category><![CDATA[3D]]></category>

		<guid isPermaLink="false">http://icarez.wordpress.com/?p=73</guid>
		<description><![CDATA[Irrlicht est un moteur 3D OpenGL / DirectX, en C++ très simple d&#8217;utilisation.
De plus il possède une forte communauté réuni autour du forum officiel, où vous trouverez facilement de l&#8217;aide à la plupart de vos problèmes, ainsi que des Scene Node (une sorte portion de monde 3D pour les nouveaux).
On retiendra également le blog de [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=icarez.wordpress.com&blog=5698168&post=73&subd=icarez&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://irrlicht.sourceforge.net/">Irrlicht</a> est un moteur 3D OpenGL / DirectX, en C++ très simple d&#8217;utilisation.</p>
<p>De plus il possède une forte communauté réuni autour du <a href="http://irrlicht.sourceforge.net/phpBB2/index.php">forum officiel</a>, où vous trouverez facilement de l&#8217;aide à la plupart de vos problèmes, ainsi que des Scene Node (une sorte portion de monde 3D pour les nouveaux).</p>
<p>On retiendra également le <a href="http://www.irrlicht3d.org/">blog de l&#8217;auteur</a> d&#8217;Irrlicht</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/icarez.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/icarez.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/icarez.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/icarez.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/icarez.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/icarez.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/icarez.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/icarez.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/icarez.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/icarez.wordpress.com/73/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=icarez.wordpress.com&blog=5698168&post=73&subd=icarez&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://icarez.wordpress.com/2008/12/02/irrlicht-presentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f8fcc12078342e664ebf15e7619f873c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">icarez</media:title>
		</media:content>
	</item>
	</channel>
</rss>