<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8371247972024962105</id><updated>2011-08-02T16:04:30.698-07:00</updated><category term='XBox360'/><category term='physics engines'/><category term='videogames'/><category term='PS3'/><category term='research'/><category term='Graphics Events'/><category term='Atari'/><category term='Projects'/><title type='text'>Experiences in 3D</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://3dexperiences.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://3dexperiences.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>notlahtolli</name><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>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8371247972024962105.post-2199545031982843817</id><published>2011-06-19T16:16:00.000-07:00</published><updated>2011-06-19T16:16:44.319-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><title type='text'>New website</title><content type='html'>I don't work at Eden Games (the internal studio of Atari) any more.&amp;nbsp; So, I have radically modified my website so many links might be broken (all paper publications for example, although you can google them and you will find them).&amp;nbsp; I will update them gradually.&lt;br /&gt;&lt;br /&gt;Soon, I will also give some more news on my new projects. Stay focus !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8371247972024962105-2199545031982843817?l=3dexperiences.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3dexperiences.blogspot.com/feeds/2199545031982843817/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://3dexperiences.blogspot.com/2011/06/new-website.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/2199545031982843817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/2199545031982843817'/><link rel='alternate' type='text/html' href='http://3dexperiences.blogspot.com/2011/06/new-website.html' title='New website'/><author><name>notlahtolli</name><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></entry><entry><id>tag:blogger.com,1999:blog-8371247972024962105.post-2768431572342346794</id><published>2010-10-08T14:56:00.000-07:00</published><updated>2010-10-08T14:56:54.849-07:00</updated><title type='text'>Nanoenvironment Interactions based on virtual reality including force feedback</title><content type='html'>After reading the title of this post, you might be thinking that you are not in the website of Cesar Mendoza. "eh, he works in video games, what is this nano.. stuff about ?"&lt;br /&gt;&lt;br /&gt;In fact, in the past I did some research in nano technology. Under the support of two research teams, the&amp;nbsp; &lt;a href="http://acroe.imag.fr/sommaire_en.html"&gt;ICA-ACROE lab&lt;/a&gt; of the&lt;a href="http://www.grenoble-inp.fr/grenoble-institute-of-technology-9224.kjsp?RH=INPG_FR&amp;amp;RF=INPG_EN"&gt; Grenoble Institute of Technology (INPG)&lt;/a&gt; and the&lt;a href="http://lepes.grenoble.cnrs.fr/piconewton/present/presentation.htm"&gt; PicoGroup &lt;/a&gt;of the LEPES lab of the&amp;nbsp; &lt;a href="http://neel.cnrs.fr/?lang=en"&gt;Néel Institute&lt;/a&gt; of the CNRS I proposed a research project for making investigations in the nanoworld.&lt;br /&gt;&lt;br /&gt;These two groups are leading teams in mechanics, robotics and moreover in nano physics.&lt;br /&gt;&lt;br /&gt;The idea of the project was to develop nanogrippers (say, a gripper tool but incredibly small) that we could use to execute 3D tasks, for example, assembly manipulations. Imagine manipulating atoms with your own hands.&lt;br /&gt;&lt;br /&gt;The design of these nanogrippers included virtual reality to enable the user to "actually see" the nano manipulations and force feedback to provide the sensation of&amp;nbsp; "feeling" the manipulated objects, i.e. "touching the atoms".&amp;nbsp; This design was strongly based on the Atomic Force Microscope (AFM). Just to mention, at the time I wrote this document, it was possible to use Atomic Force Microscope as a tool tip to touch nano objects.&lt;br /&gt;&lt;br /&gt;The project was really ambitious and exciting and we submitted to the &lt;a href="http://www.cnrs.fr/"&gt;CNRS&lt;/a&gt;,&amp;nbsp; Unfortunately, the project was rejected and of course, I was not assigned to follow this project.&lt;br /&gt;&lt;br /&gt;Just as a anecdote, when I presented this project in Paris, at 9:30 am, in 2006, one person of the jury was sleeping (I couldn't believe it !) and the other spent his time watching at his PC without taking care about what I said. I wish I could know the name of the guy who was sleeping...&amp;nbsp; Under these circumstances, I was not really in the mood to show the great potential of the project.. the project, as I said, was rejected.&lt;br /&gt;&lt;br /&gt;Anyway, the thing is that I still believe in the future of this and if you have a AFM, I can send you all the details of the project (in French). For now,&amp;nbsp; &lt;a href="http://www.mendozajullia.com/papers/ReserchProgramInNanoMendoza.pdf"&gt;you can get the English summary here.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Use it !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8371247972024962105-2768431572342346794?l=3dexperiences.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3dexperiences.blogspot.com/feeds/2768431572342346794/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://3dexperiences.blogspot.com/2010/10/nanoenvironment-interactions-based-on.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/2768431572342346794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/2768431572342346794'/><link rel='alternate' type='text/html' href='http://3dexperiences.blogspot.com/2010/10/nanoenvironment-interactions-based-on.html' title='Nanoenvironment Interactions based on virtual reality including force feedback'/><author><name>notlahtolli</name><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></entry><entry><id>tag:blogger.com,1999:blog-8371247972024962105.post-8386190740063741624</id><published>2010-08-17T03:58:00.000-07:00</published><updated>2010-08-17T03:58:07.578-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='research'/><title type='text'>Siggraph 2010 mug</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_c44oyh7odLg/TGpoJMKT6-I/AAAAAAAAAJw/e0muIhHxdlM/s1600/DSC03437.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_c44oyh7odLg/TGpoJMKT6-I/AAAAAAAAAJw/e0muIhHxdlM/s320/DSC03437.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;Being a reviewer for the last Siggraph 2010 has been a pleasure. If you work in the Academia being a reviewer is a normal part of your daily activities, since although you are not paid, the payment is implicitly included in your Academia salary besides giving you a plus in your CV for further scientific evaluations.&lt;br /&gt;&lt;br /&gt;However, if you are working in the industry, it has a different meaning. You don't get paid either, it is not really worthy for your work since in your CV does not mean much for recruiters, your wife is upset for loosing time in something without any payment. From my point of view, it is done by the pleasure of reading and reviewing highly technical works. It gives you some sort of self-confidence.&lt;br /&gt;&lt;br /&gt;I don't thing my boss cares if I am a SIGGRAPH reviewer or not, unlike the boss of&amp;nbsp; normal academia researchers. But, still, you get a free and pretty mug as shown in the picture.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8371247972024962105-8386190740063741624?l=3dexperiences.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3dexperiences.blogspot.com/feeds/8386190740063741624/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://3dexperiences.blogspot.com/2010/08/siggraph-2010-mug.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/8386190740063741624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/8386190740063741624'/><link rel='alternate' type='text/html' href='http://3dexperiences.blogspot.com/2010/08/siggraph-2010-mug.html' title='Siggraph 2010 mug'/><author><name>notlahtolli</name><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_c44oyh7odLg/TGpoJMKT6-I/AAAAAAAAAJw/e0muIhHxdlM/s72-c/DSC03437.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8371247972024962105.post-2538241285754727686</id><published>2010-08-06T04:52:00.000-07:00</published><updated>2010-08-06T04:53:57.064-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='research'/><category scheme='http://www.blogger.com/atom/ns#' term='physics engines'/><category scheme='http://www.blogger.com/atom/ns#' term='videogames'/><title type='text'>The book: Game Physics Pearls</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_c44oyh7odLg/TFv0LJybDeI/AAAAAAAAAJI/Lh1nSApKlp8/s1600/BookCover.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_c44oyh7odLg/TFv0LJybDeI/AAAAAAAAAJI/Lh1nSApKlp8/s320/BookCover.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;I have written a chapter on this book about how to set-up soft bodies in games. Within the chapter you will find sample code on how to implement the most difficult features of the model. It has been tested in one prototype using the &lt;a href="http://www.atari.com/games/alone_in_the_dark/pc-download"&gt;Alone in the Dark&lt;/a&gt; framework for PC. &lt;br /&gt;&lt;br /&gt;Within the book there are other very interesting topics related to physics in games. All of them give incredible hints in how to optimize the algorithms for games.&lt;br /&gt;&lt;br /&gt;So, it would be a good idea if you buy the book.&lt;a href="http://www.amazon.fr/Game-Physics-Pearls-Gino-Bergen/dp/1568814747"&gt; You can get it from Amazon.&amp;nbsp; &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8371247972024962105-2538241285754727686?l=3dexperiences.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3dexperiences.blogspot.com/feeds/2538241285754727686/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://3dexperiences.blogspot.com/2010/08/book-game-physics-pearls.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/2538241285754727686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/2538241285754727686'/><link rel='alternate' type='text/html' href='http://3dexperiences.blogspot.com/2010/08/book-game-physics-pearls.html' title='The book: Game Physics Pearls'/><author><name>notlahtolli</name><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_c44oyh7odLg/TFv0LJybDeI/AAAAAAAAAJI/Lh1nSApKlp8/s72-c/BookCover.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8371247972024962105.post-5882012260162136754</id><published>2010-06-30T05:00:00.000-07:00</published><updated>2010-06-30T05:01:36.778-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Graphics Events'/><category scheme='http://www.blogger.com/atom/ns#' term='research'/><title type='text'>VRIPHYS : Virtual Reality Interactions and Physical Simulations : http://www.vriphys.org</title><content type='html'>&amp;nbsp;You might be surprised that the website of the VRIPHYS workshop has disappeared. At the moment, this link:&amp;nbsp; http://www.vriphys.org does not work any more.&lt;br /&gt;&lt;br /&gt;The main reason of this is because it has been decided to change to a different host provider for the website. Hence, the previous Italian provider (aruba) does not host the vriphys website and has therefore removed the information.&lt;br /&gt;&lt;br /&gt;Vriphys will be now hosted and managed by INRIA, France. Find the latest 2010 vriphys (the 7th) workshop in &lt;a href="http://vriphys2010.inrialpes.fr/"&gt;this link.&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;As a partner event of Eurographics, you can find the papers and scientific committees of the previous workshops in the Eurographics Digital Library.&lt;a href="http://www.eg.org/EG/DL/PE/vriphys/"&gt; HERE&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Note that papers of the years 2004 and 2005 are not available in the Eurographics website since, although partnership with EG was obtained in 2005, it was until 2006 that they started to store the papers and related information.&lt;br /&gt;&lt;br /&gt;In any case, if you need the vriphys papers or other information related to 2004 and 2005,&amp;nbsp; feel free to contact me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8371247972024962105-5882012260162136754?l=3dexperiences.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3dexperiences.blogspot.com/feeds/5882012260162136754/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://3dexperiences.blogspot.com/2010/06/vriphys-virtual-reality-interactions.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/5882012260162136754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/5882012260162136754'/><link rel='alternate' type='text/html' href='http://3dexperiences.blogspot.com/2010/06/vriphys-virtual-reality-interactions.html' title='VRIPHYS : Virtual Reality Interactions and Physical Simulations : http://www.vriphys.org'/><author><name>notlahtolli</name><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></entry><entry><id>tag:blogger.com,1999:blog-8371247972024962105.post-1611505314628097191</id><published>2010-06-08T04:44:00.000-07:00</published><updated>2010-06-08T04:47:57.696-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Graphics Events'/><category scheme='http://www.blogger.com/atom/ns#' term='videogames'/><title type='text'>Paris Master Class</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_c44oyh7odLg/TA4rUFqkZPI/AAAAAAAAAIM/fzzQ1_GRAOc/s1600/headerParisMasterClass.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="85" src="http://1.bp.blogspot.com/_c44oyh7odLg/TA4rUFqkZPI/AAAAAAAAAIM/fzzQ1_GRAOc/s400/headerParisMasterClass.gif" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Next June 23th, 2010 I have been invited to give a &lt;i&gt;"master class"&lt;/i&gt;&lt;i&gt; &lt;/i&gt;in Paris. The training is a one-day set of lectures, all related to video games. In fact, it is a review of several math fundamentals for game programming. The course is accompanied with user-cases and sample code. &lt;br /&gt;&lt;br /&gt;The lectures focuses game professionals who want to develop and improve their skills in a concrete way. Although it is designed for intermediate level, I will be starting at some basic levels but I will also touch some interesting and practical advance topics.&lt;br /&gt;&lt;br /&gt;I am posting this a bit late but &lt;i&gt;you can still register&lt;/i&gt; in &lt;a href="http://www.parismasterclasses.com/"&gt;their website&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Voila mes amis !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8371247972024962105-1611505314628097191?l=3dexperiences.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3dexperiences.blogspot.com/feeds/1611505314628097191/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://3dexperiences.blogspot.com/2010/06/paris-master-class.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/1611505314628097191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/1611505314628097191'/><link rel='alternate' type='text/html' href='http://3dexperiences.blogspot.com/2010/06/paris-master-class.html' title='Paris Master Class'/><author><name>notlahtolli</name><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_c44oyh7odLg/TA4rUFqkZPI/AAAAAAAAAIM/fzzQ1_GRAOc/s72-c/headerParisMasterClass.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8371247972024962105.post-6238596528637123007</id><published>2010-05-26T03:53:00.000-07:00</published><updated>2010-05-26T04:06:35.817-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Atari'/><category scheme='http://www.blogger.com/atom/ns#' term='videogames'/><title type='text'>Test drive unlimited 2</title><content type='html'>The studio I am working in, EdenGames, is about to release the next edition of the well-known game test drive.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_c44oyh7odLg/S_z9YNx9JlI/AAAAAAAAAIE/lNlrqGMy5kg/s1600/screenshotTestDrive.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://4.bp.blogspot.com/_c44oyh7odLg/S_z9YNx9JlI/AAAAAAAAAIE/lNlrqGMy5kg/s400/screenshotTestDrive.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;It is a car's game with a lot of "social and on-line" stuff. So, if you want me to keep my job, buy this game.&lt;br /&gt;&lt;br /&gt;You can see some trailers of the game on its&amp;nbsp; &lt;a href="http://www.testdriveunlimited2.com/"&gt;website. Click here&amp;nbsp; &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If interested, you can also check more details on Nour's interview. Here is that interview:&lt;br /&gt;&lt;br /&gt;&lt;object width="380" height="240"&gt;&lt;param name="movie" value="http://www.youtube.com/v/I8F87Pj-7nI&amp;hl=fr_FR&amp;fs=1&amp;border=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/I8F87Pj-7nI&amp;hl=fr_FR&amp;fs=1&amp;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="380" height="240"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8371247972024962105-6238596528637123007?l=3dexperiences.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3dexperiences.blogspot.com/feeds/6238596528637123007/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://3dexperiences.blogspot.com/2010/05/test-drive-unlimited-2.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/6238596528637123007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/6238596528637123007'/><link rel='alternate' type='text/html' href='http://3dexperiences.blogspot.com/2010/05/test-drive-unlimited-2.html' title='Test drive unlimited 2'/><author><name>notlahtolli</name><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_c44oyh7odLg/S_z9YNx9JlI/AAAAAAAAAIE/lNlrqGMy5kg/s72-c/screenshotTestDrive.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8371247972024962105.post-440937955489299012</id><published>2010-05-08T12:00:00.000-07:00</published><updated>2010-05-08T12:00:40.762-07:00</updated><title type='text'>Fast update</title><content type='html'>Yes, I have not been very ofter writting posts here... well, I will try to arrange that.&amp;nbsp; I have been very busy lately, extremely.. for those becoming dads will know the short nights. Anyway, some bits of updates&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I finished my reviews for SIGGRAPH 2010. In fact, you don't get paid for do it but it is always good the review high quality papers (mostly) and it is also good for your self esteem. &lt;a href="http://www.siggraph.org/s2010/"&gt;Here is the link for the SIGGRAPH of this year.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;I have just finished a book chapter which will be published this year. The editor is Gino Van den Bergen and the publisher is AK Peters. That took me much time of my nights. I will give you more details as soon as I know.&lt;/li&gt;&lt;li&gt;I have been fixing my GJK + EPA collision detection algorithm. In fact, I have wrote a post on that, but much tuning is required to make it work fine. I will give details on this in a different post.&lt;/li&gt;&lt;li&gt;I have started working with Kd-trees for occlusion, visibility and other related problems. I will let you know more about this in other post as well. &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8371247972024962105-440937955489299012?l=3dexperiences.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3dexperiences.blogspot.com/feeds/440937955489299012/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://3dexperiences.blogspot.com/2010/05/fast-update.html#comment-form' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/440937955489299012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/440937955489299012'/><link rel='alternate' type='text/html' href='http://3dexperiences.blogspot.com/2010/05/fast-update.html' title='Fast update'/><author><name>notlahtolli</name><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>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8371247972024962105.post-3760941713117582856</id><published>2009-08-20T03:42:00.000-07:00</published><updated>2009-08-20T03:49:27.114-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Graphics Events'/><title type='text'>Vriphys 09</title><content type='html'>Oh, ahh, I always do it at the last minute... but I do it right.  I finished reviewing some papers for this conference.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.vriphys.org/workshops/vriphys09/"&gt;VRIPHYS 09&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It is a conference for professionals, researchers, students interested in virtual reality interactions and physics simulations. I think it is a great forum where people can meet in a friendly manner.&lt;br /&gt;&lt;br /&gt;It is not the huge show of Siggraph, not even EG or SCA. It is more focused in real-time and interactions and it has the support of Eurgraphics. I hope this year it will have excellent papers as previous years.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8371247972024962105-3760941713117582856?l=3dexperiences.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3dexperiences.blogspot.com/feeds/3760941713117582856/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://3dexperiences.blogspot.com/2009/08/vriphys-09.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/3760941713117582856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/3760941713117582856'/><link rel='alternate' type='text/html' href='http://3dexperiences.blogspot.com/2009/08/vriphys-09.html' title='Vriphys 09'/><author><name>notlahtolli</name><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></entry><entry><id>tag:blogger.com,1999:blog-8371247972024962105.post-2655492143940387482</id><published>2009-08-19T13:42:00.000-07:00</published><updated>2009-08-20T03:41:52.404-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='research'/><title type='text'>Convex decomposition</title><content type='html'>I have recently wrap the extraordinary convex decomposition library of John Ratcliff. I did it with the 2007 version. I have added some functions (from John's as well) to find the best fitting capsules, spheres and oriented boxes of convex hulls.&lt;br /&gt;&lt;br /&gt;The 2007 version has some bugs that I am currently fixing but it works fine. If you want a more robust version you can get that one of 2004 which is the one that the guys from Bullet have wrapped. I wrapped it as well and it works just perfect. The disadvantage is that it does not include best fitting features and that the splitting plane of concave objects is not always the best. Besides, it is implemented using floats instead of doubles.&lt;br /&gt;&lt;br /&gt;John did a great job. At the beginning I tried to implement the convex decomposition myself, but I had some troubles trying to find the best fitting plane. It worked in some cases but in others it failed terrible. So, I decided to wrap John's convex library. It is a bit slower (since it computes the decomposition in a "brute force manner" but it is worthy to wait 30 seconds for decomposing a concave object of 700 triangles into a set of convex hulls.&lt;br /&gt;&lt;br /&gt;I will use this together with my GJK implementation :)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://codesuppository.blogspot.com/2006/04/approximate-convex-decomposition.html"&gt;Click here&lt;/a&gt; for the link of John's convex decomposition library. If you use it, feel free to donate something to John's son association.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8371247972024962105-2655492143940387482?l=3dexperiences.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3dexperiences.blogspot.com/feeds/2655492143940387482/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://3dexperiences.blogspot.com/2009/08/convex-decomposition.html#comment-form' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/2655492143940387482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/2655492143940387482'/><link rel='alternate' type='text/html' href='http://3dexperiences.blogspot.com/2009/08/convex-decomposition.html' title='Convex decomposition'/><author><name>notlahtolli</name><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>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8371247972024962105.post-314352142684946149</id><published>2009-07-17T04:09:00.000-07:00</published><updated>2009-07-17T04:57:40.300-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='research'/><category scheme='http://www.blogger.com/atom/ns#' term='physics engines'/><title type='text'>Implementation of GJK</title><content type='html'>Wow, quite a lot without posting here... I will try to be better on this.&lt;br /&gt;&lt;br /&gt;After some relaxing weeks implementing intersection tests for basic primitives (triangles, box, spheres, etc) I have decided to go further and implement a generic algorithm to detect collisions: I decided to implement the well known GJK algorithm (also known as Gilbert-Johnson-Keerthi algorithm).&lt;br /&gt;&lt;br /&gt;Here, I will just describe my general thoughts and experience while implementing this (time of implementation, bibliography) but I will not give details on the theory, which might take lots and lots of lines.&lt;br /&gt;&lt;br /&gt;Actually, the GJK algorithm is only a part of a whole collision detection architecture. It only gives you the distance between two convex objects but it is possible to adapt it to a clever architecture to provide you with contact points a penetration depths.&lt;br /&gt;&lt;br /&gt;So, I did a fast "state-of-the-art" just to realize that it was not an easy task. Even worst, my dear boss was asking me for details on the time that it can be implemented and just looking all the maths, I was just scared !&lt;br /&gt;&lt;br /&gt;Unless you have a good experience working with convex theory, Minkowski sums, affine transformations, you will do the implementation very fast or, if you are like me, not a real expert on this, it will take about &lt;span style="font-weight: bold;"&gt;"1 month" working 8 hrs a day &lt;/span&gt;to implemented the whole thing. I should say that you can get it much faster from Bullet or Solid libraries, but here in the company, due to license constraints, we have to implement everything from nothing.&lt;br /&gt;&lt;br /&gt;I should accept that I had good inspiration from these books:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Collision Detection in Interactive 3D Environments, Gino Van der Vergen&lt;/li&gt;&lt;li&gt;Real-Time Collision Detection, Christer Ericson&lt;/li&gt;&lt;/ol&gt;In the first book, the one from Gino, there are a lot of maths (quite a lot, I would say), but you can get the Solid library where GJK is implemented. The book explains everything in the code, mainly the numerical problems, and provides you of a hybrid method to get penetration depths using GJK.  I compiled the library and it runs very nice. It was a huge source of inspiration. However, there is no way it will make it for our PS3 compilation standards and many many problems arise while integrating SIMD operations.&lt;br /&gt;&lt;br /&gt;The second book gives you a better introduction to the GJK problem but it will no go farther into the details. So, I think both books complement each other very well.&lt;br /&gt;&lt;br /&gt;I also took some inspiration from Bullet. It computes distance to simplexes in a more direct way but still, it remains quite complex.&lt;br /&gt;&lt;br /&gt;So, I implemented GJK + EPA as explained in Gino's book and so far it compiles perfectly in within our SIMD standards and PS3 compilation constraints.&lt;br /&gt;&lt;br /&gt;The main idea is to add an extra convex radius to each convex shape (as Havok does) .  Then&lt;br /&gt;&lt;ul&gt;&lt;li&gt; GJK is used when inter-penetrations are small.  Using EPA when penetration are larger is quite unstable. To use GJK we surround the objects with a little margin (the convex radius in Havok terms)  When the inter-penetration is within this margin, we compute the closest distance between the original objects. The witness points of the distance are projected to the boundaries of the enlarged objects in order to return  the penetration depth.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt; If the original objects penetrate as well, we use EPA (Expanding Polytope Algorithm). EPA is fully explained in Gino's book. It is really worthy to take a look on it. Be sure on reading page 162 which is very helpful to get rid of many numerical errors. The general idea is to expand a 3D politope which is further used to extract the penetration depth. You can have a better idea if you have a look on Solid 3D.&lt;/li&gt;&lt;/ul&gt;To avoid jittering you should better &lt;span style="font-weight: bold;"&gt;allowed some little penetration and create a persistent manifold&lt;/span&gt; as Bullet does.  The little penetration is easy to allow since we have already implemented a convex radius.  At the beginning I "snobbed" the persistent manifold and only catched contact points (the deepest). But it turns out that this is very important and an optimal persistent manifold should be implemented.  GJK retunrs always one contact point, so imagine for a capsule/box collision: it will give you a jittering due to only one contact at a time. You have to keep one contact point. The most clever, I have found, to do this, is to do it as bullet. Keeping the contact points that covers the maximum area of the manifold. Although, if you go further into Bullet's code, you will notice a risk for slippering.&lt;br /&gt;&lt;br /&gt;Anyway, no more time to write, now..&lt;br /&gt;&lt;br /&gt;take care !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8371247972024962105-314352142684946149?l=3dexperiences.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3dexperiences.blogspot.com/feeds/314352142684946149/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://3dexperiences.blogspot.com/2009/07/implementation-of-gjk.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/314352142684946149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/314352142684946149'/><link rel='alternate' type='text/html' href='http://3dexperiences.blogspot.com/2009/07/implementation-of-gjk.html' title='Implementation of GJK'/><author><name>notlahtolli</name><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></entry><entry><id>tag:blogger.com,1999:blog-8371247972024962105.post-3148996681788674896</id><published>2009-03-25T05:26:00.000-07:00</published><updated>2009-05-20T00:19:29.937-07:00</updated><title type='text'>PS3 compilation hints</title><content type='html'>Templates are not transparent all the time when compiling with PS3.  I have been compiling a set of hints from my short experience. I will put a list of them shortly.&lt;br /&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8371247972024962105-3148996681788674896?l=3dexperiences.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3dexperiences.blogspot.com/feeds/3148996681788674896/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://3dexperiences.blogspot.com/2009/03/ps3-compilation-hints-1-derivating.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/3148996681788674896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/3148996681788674896'/><link rel='alternate' type='text/html' href='http://3dexperiences.blogspot.com/2009/03/ps3-compilation-hints-1-derivating.html' title='PS3 compilation hints'/><author><name>notlahtolli</name><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>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8371247972024962105.post-2272458200862988327</id><published>2009-02-16T04:28:00.000-08:00</published><updated>2009-02-16T04:46:32.708-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='research'/><title type='text'>THE SHORTEST COLLISION DETECTION SUMMARY EVER</title><content type='html'>&lt;span style="font-weight: bold;"&gt;I. INTRODUCTION&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Collision detection between virtual objects is one of the bottlenecks in real-time applications.&lt;br /&gt;&lt;br /&gt;Unfortunately, after more than 20 years of research, there is not a generic method that can be used in all applications.&lt;br /&gt;&lt;br /&gt;The main reason of this is that the objects involved in the collision detection process become more and more complex. Hence, we have passed from using only rigid bodies to use more complex objects such as volumetric deformable bodies, cloths, fluids, etc.&lt;br /&gt;&lt;br /&gt;Refer to [1][2][3] as a good starting point. Although most of the available techniques used to detect collision between rigid bodies need to be modified for deformable objects, most of these techniques share a basic approach. This approach divides the collision detection process into 3 steps:&lt;br /&gt;&lt;br /&gt; 1. Broadphase&lt;br /&gt; 2. Middle phase&lt;br /&gt; 3. Narrow phase&lt;br /&gt;&lt;br /&gt;Next, I will briefly describe this steps. Note that we only consider static collision detection.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;II. THE BROADPHASE.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In this stage, bodies are encapsulated in simpler volumes (spheres, boxes) for fast intersections.&lt;br /&gt;&lt;br /&gt;This way, non intersecting pairs of complex objects are rapidly culled out from the collision process.&lt;br /&gt;&lt;br /&gt;These simpler objects may be spheres, axis aligned bounding boxes (AABB), oriented bounding boxes (OBB) just to mention the most typical ones. They add little extra memory to the simulation but highly increase the performance of our collision detection process.&lt;br /&gt;&lt;br /&gt;There is not a best choice between these bounding volumes, and some tests should be done to pick the best for a particular situation.&lt;br /&gt;&lt;br /&gt;Decomposing the space into uniform grids and checking the interference between the cells and the simpler volume can additionally be added to this stage to speed up the collision process.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;III. THE MIDDLE PHASE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The broadphase identifies the pair of bodies that should be tested for possible collision detection. Instead of directly test the primitives of the bodies (triangles, points) we may add an additional stage that can accelerate the collision detection process.&lt;br /&gt;&lt;br /&gt;This additional stage is the middle phase. The main idea is to construct a bounding volume hierarchy of the object: the simpler volume used in the broadphase is subdivided into inner sub-volumes and each sub-volume into inner sub-volumes and so on, until we reach the primitives of the body.&lt;br /&gt;&lt;br /&gt;Once the pair of objects are identified in the broadphase, the middle phase uses the bounding volume hierarchy to identify “regions” of the bodies for additional collision detection queries.&lt;br /&gt;&lt;br /&gt;As an example, in a bottom-up construction approach of the bounding volume hierarchy, we select a small set of primitives of the object ( say 2 or 3 triangles for example) and we enclose them within a bounding volume. This is a leaf node. We do the same for all the primitives of the object. We end up by enclosing all the primitives of the object with small bounding volumes.&lt;br /&gt;&lt;br /&gt;Next, we select a set of these small bounding volumes (2 or more and normally neighbors of each other) and enclosed them within a larger bounding volume. We repeat this for all the small volumes. As a result, we will have a smaller set of larger (middle) bounding volumes. We repeat the process until we have only one bounding volume, which represents our root node. Each level of the hierarchy represents a tighter fit than its parent. The number of level of the hierarchy is usually known as the depth of the tree.&lt;br /&gt;&lt;br /&gt;Note that these hierarchies are constructed in an offline process.&lt;br /&gt;&lt;br /&gt;The middle phase starts by testing the root bounding volume of bodyA (rootBVA) with the children bounding volumes of the root bounding volume of bodyB (rootBVB). If an interference exists between rootBVA and only one of the children of rootBVB we will know that the collision does not happen with the other children of rootBVB. In the next iteration we will not include them in the intersection tests. We will only test the colliding children with the children of the rootBVB and so on.&lt;br /&gt;&lt;br /&gt;Alternatively, there exists a top-bottom approach in which we start by using the simpler bounding volume of the object and subdivide this volume into inner subvolumes in a recursively manner until we reach the primitives of the object.&lt;br /&gt;&lt;br /&gt;For rigid bodies, there is not a clear advantage between OBB, AABB or bounding spheres trees. Their efficiency, memory consumption and accuracy depend on the application and on the enclosing body.&lt;br /&gt;&lt;br /&gt;The main difference comes out when they are applied to deformable bodies (volumetric, 2D cloths) since these hierarchies need to be updated at each time step to adapt to the new deformed shape of the body.&lt;br /&gt;&lt;br /&gt;Van der Bergen compared AABB's and OBB's hierarchies for deformable objects and determined that AABB's are the best option [4]. He also showed that, although hierarchies can also be rebuilt, updating them is almost ten times faster than rebuilding them. Larson et al. [5] compared different methods for the hierarchy updating process based on bottom-up and top-down strategies. They found that these methods depend on the depth of the tree and proposed a method that uses both strategies.&lt;br /&gt;&lt;br /&gt;There has not been a comparison between sphere hierarchies and AABB's hierarchies since sphere trees were for long time rejected for its poor tightness to the body. However, latest results have shown that sphere trees can be as tight as AABB's trees and then can be an excellent option for deformable bodies. Their only problem is that their construction is not as simple as AABB's trees but the update can be much faster (note: last sentence is only an empirical personal assumption).&lt;br /&gt;&lt;br /&gt;Advance issues concern the update of the trees when the encapsulating body suffers a topology modification, i.e. when the object is broken or cut. If it is a partial fracture or rupture, the tree most probably will need a rebuilt, which is computationally costly. If the object is broken in hundreds of sub-bodies, then the tree hierarchy might result to be obsolete.&lt;br /&gt;&lt;br /&gt;Additionally, as an advance issue, auto-collisions might occur, (e.g. cloth self-collisions) and this is a subject in which volume hierarchies haven't present an effective solution.&lt;br /&gt;&lt;br /&gt;To handle these two last issues, alternative approaches can be used. Instead of using bounding trees, we can used an optimized spatial hashing for collision detection of deformable objects [6].&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;IV THE NARROW PHASE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The result of the middle phase is either no collision (i.e. no leaves of body A are colliding with any leaves of body B) or "leaves collision" (i.e. at least one bounding volume leaf of body A is overlapping at least one bounding volume leaf of body B).&lt;br /&gt;&lt;br /&gt;We focus here in polygonal models.&lt;br /&gt;&lt;br /&gt;The leaves of the bounding volume tree (the smaller boxes and spheres in the hierarchy) are associated to a small set of primitives of the object. Hence, a little sphere will point to 2 or 3 triangles. Associating triangles to little bounding volumes is not a simple task since some aliasing problems may arise (e.g. a triangle may be associated to different bounding volumes under different circumstances).&lt;br /&gt;&lt;br /&gt;Therefore, the narrow phase consists on finding the intersection of the primitives (e.g. triangles) enclosed by the bounding volume leaves of body A and B. Finally, we need to find the separation normal and the penetration distance as the minimum information for the collision response. Additional information can be included such as the intersecting triangles or edges. This additional information can be useful to build the Id of the contact.&lt;br /&gt;&lt;br /&gt;Alternatively, instead of finding the primitives associated to the each leaf bounding volume, we can use the little leaf bounding volume as a "coarse primitive" of the body and compute the separation normal and penetration distance. We lose accuracy by doing this, however, if the approximation of the object by the deepest level of the hierarchy is good enough (i.e. the leaves were extraordinary calculated) then we can have an acceptable response and we can earn lots of time computations and memory consumption is highly reduced.&lt;br /&gt;&lt;br /&gt;Finding contact information for triangles or other primitives is not an easy task. Methods such as the Lin-Canny Closest Feature algorithm may not be well suited since it does not provide penetration information and the well known and complicated to implement GJK seems to be the best option to best measure interpenetration.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;BIBLIOGRAPHY&lt;br /&gt;&lt;br /&gt;[1] Collision Detection for Deformable Bodies, Teschner. M et al., Proc. of the Star Reports, EG 04, pp 119-140&lt;br /&gt;&lt;br /&gt;[2] 3D Collision Detection: A Survey, Jimenez P. et al, Computer And Graphics, 2001 pp 269-285&lt;br /&gt;&lt;br /&gt;[3] Real-Time Collision Detection, C Ericson, Elsevier 2005&lt;br /&gt;&lt;br /&gt;[4] Efficient Collision Detection Of Complex Deformable Models Using AABB trees, Van den Bergen, G. J Graph Tools, 2,4 (1997)&lt;br /&gt;&lt;br /&gt;[5] Collision Detection for continuously deforming bodies, Larsson T. et al, EG Short Presentations 2001, pp. 325-333&lt;br /&gt;&lt;br /&gt;[6] Optimized Spatial Hashing for Collision Detection of Deformable Objects, M. Teschner et al. Proc. VMV 2003&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8371247972024962105-2272458200862988327?l=3dexperiences.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3dexperiences.blogspot.com/feeds/2272458200862988327/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://3dexperiences.blogspot.com/2009/02/shortest-collision-detection-summary.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/2272458200862988327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/2272458200862988327'/><link rel='alternate' type='text/html' href='http://3dexperiences.blogspot.com/2009/02/shortest-collision-detection-summary.html' title='THE SHORTEST COLLISION DETECTION SUMMARY EVER'/><author><name>notlahtolli</name><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></entry><entry><id>tag:blogger.com,1999:blog-8371247972024962105.post-4610513223451884500</id><published>2008-12-31T00:58:00.000-08:00</published><updated>2008-12-31T00:59:23.597-08:00</updated><title type='text'>Happy New Year 2009</title><content type='html'>To all and everyone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8371247972024962105-4610513223451884500?l=3dexperiences.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3dexperiences.blogspot.com/feeds/4610513223451884500/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://3dexperiences.blogspot.com/2008/12/happy-new-year-2009.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/4610513223451884500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/4610513223451884500'/><link rel='alternate' type='text/html' href='http://3dexperiences.blogspot.com/2008/12/happy-new-year-2009.html' title='Happy New Year 2009'/><author><name>notlahtolli</name><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></entry><entry><id>tag:blogger.com,1999:blog-8371247972024962105.post-5399538500650532093</id><published>2008-12-23T13:38:00.000-08:00</published><updated>2008-12-24T01:05:42.947-08:00</updated><title type='text'>Merry Christmas 2008 !</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_c44oyh7odLg/SVFcQ3F32EI/AAAAAAAAADA/BGtlaW413_A/s1600-h/candle.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 221px; height: 200px;" src="http://2.bp.blogspot.com/_c44oyh7odLg/SVFcQ3F32EI/AAAAAAAAADA/BGtlaW413_A/s320/candle.gif" alt="" id="BLOGGER_PHOTO_ID_5283105282618546242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Yes, Merry Christmas to anyone hitting my blog and/or my website.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8371247972024962105-5399538500650532093?l=3dexperiences.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3dexperiences.blogspot.com/feeds/5399538500650532093/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://3dexperiences.blogspot.com/2008/12/merry-christmas.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/5399538500650532093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/5399538500650532093'/><link rel='alternate' type='text/html' href='http://3dexperiences.blogspot.com/2008/12/merry-christmas.html' title='Merry Christmas 2008 !'/><author><name>notlahtolli</name><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_c44oyh7odLg/SVFcQ3F32EI/AAAAAAAAADA/BGtlaW413_A/s72-c/candle.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8371247972024962105.post-8361073414725304280</id><published>2008-12-16T03:37:00.000-08:00</published><updated>2008-12-16T08:38:55.137-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='research'/><title type='text'>Time Critical Collision Detection</title><content type='html'>One of the bottlenecks to obtain real-time physical based simulations is the collision detection process and much research has been done on this.  In the past, I proposed a method to fit the collision process to any given budget of time. &lt;a href="http://www.mendozajullia.com/papers/vriphys05.pdf"&gt;See the paper here.   &lt;/a&gt;This method works for rigid and deformable bodies.&lt;br /&gt;&lt;br /&gt;The idea is to interrupt the collision process when our budget of time has expired and use the available information to compute the collision response (it this happened).  The computed response is an approximation of the real one: Yes, we trade time for accuracy, but in general the results are quite satisfactory.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_c44oyh7odLg/SUeepdIwLYI/AAAAAAAAAC4/ENSb7JNVhEw/s1600-h/timeCritical.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://3.bp.blogspot.com/_c44oyh7odLg/SUeepdIwLYI/AAAAAAAAAC4/ENSb7JNVhEw/s320/timeCritical.JPG" alt="" id="BLOGGER_PHOTO_ID_5280363523148361090" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The method is based on sphere representations of the object. Each of these representations goes from a coarse representation (a) to a high quality representation (d). If we have little time, we compute the collision detection process using (a) or (b) representations as in the figure above. If we have lots of time, we use more detailed representations (c) or (d).  The coarser the representation the less accurate is the response (or even the detection).&lt;br /&gt;&lt;br /&gt;The complexity of the problem comes to compute good responses even with little information.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;The question is:&lt;/span&gt; do you prefer high accurate responses even if your application goes slow or do you prefer to keep your simulation rates and obtaining some non-accurate responses ??&lt;br /&gt;&lt;br /&gt;Well, here at Atari we have decided to go for high accurate responses... so, that means that I will have to find other ways to keep good simulation rates... good challenge !&lt;br /&gt;&lt;br /&gt;So, if anybody have some good ideas, please let me know.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8371247972024962105-8361073414725304280?l=3dexperiences.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3dexperiences.blogspot.com/feeds/8361073414725304280/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://3dexperiences.blogspot.com/2008/12/time-critical-collision-detection.html#comment-form' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/8361073414725304280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/8361073414725304280'/><link rel='alternate' type='text/html' href='http://3dexperiences.blogspot.com/2008/12/time-critical-collision-detection.html' title='Time Critical Collision Detection'/><author><name>notlahtolli</name><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_c44oyh7odLg/SUeepdIwLYI/AAAAAAAAAC4/ENSb7JNVhEw/s72-c/timeCritical.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8371247972024962105.post-1537346161818236355</id><published>2008-12-10T03:48:00.000-08:00</published><updated>2008-12-10T04:13:57.466-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Atari'/><title type='text'>Atari is ramping up</title><content type='html'>Yeah, this is happening...&lt;br /&gt;&lt;br /&gt;Atari, the company I have joined this year, was death at the end of the last century and it was converted in a company publishing games from other game developers.&lt;br /&gt;&lt;br /&gt;In 2003, it has been started to be acquired by Infogrammes Inc., a French corporate and in 2008, Atari was fully acquired and then EdenGames (about 150 people) became  an internal developer of Atari. Actually, the only one.&lt;br /&gt;&lt;br /&gt;Then, things are happening very rapidly, at the end of the summer, Atari created a second studio in London bringing Paulina Bozek (the pretty girl producer previously head of SingStar) to Atari &lt;a href="http://www.gamasutra.com/php-bin/news_index.php?story=20135"&gt;(Read article here)&lt;/a&gt;. Now, Atari fully acquire massively multiplayer online (MMO) game developer Cryptic Studios. &lt;a href="http://www.gamasutra.com/php-bin/news_index.php?story=21433"&gt;Read the article here&lt;/a&gt;. So, another 150 people are now employees of Atari. Cryptic Studios has been awarded in all this online stuff.&lt;br /&gt;&lt;br /&gt;This are going fast !  3 studios in less than a semester !!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8371247972024962105-1537346161818236355?l=3dexperiences.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3dexperiences.blogspot.com/feeds/1537346161818236355/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://3dexperiences.blogspot.com/2008/12/atari-is-ramping-up.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/1537346161818236355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/1537346161818236355'/><link rel='alternate' type='text/html' href='http://3dexperiences.blogspot.com/2008/12/atari-is-ramping-up.html' title='Atari is ramping up'/><author><name>notlahtolli</name><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></entry><entry><id>tag:blogger.com,1999:blog-8371247972024962105.post-2766108029868879789</id><published>2008-12-07T10:54:00.000-08:00</published><updated>2008-12-07T12:11:01.276-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='research'/><category scheme='http://www.blogger.com/atom/ns#' term='physics engines'/><title type='text'>Evaluating Physics Engines For Games - PAL -</title><content type='html'>Physics engines are a high-tech aspect within a next-gen game. They are in charge of simulating all the physics as realistic as possible. Many times the accuracy of the physics is reduced to meet the real-time requirements of the game. Many companies prefer to buy the physics engine as a middleware and apply their effors in others parts of the game. Nowadays there well established companies offering this middleware, like for example Havok, Nvidia-AGEIA. There are of course new comers and open-source engines such as Pixelux, Bullet, ODE, Tokamak, etc.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The big question is: which physics engine is the best ?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The answer is straighforward: None of them is in overall the best and it is very case dependent. However, there is still a way to make some comparisons. So, I came across this paper:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);font-size:85%;" &gt;Evaluation of Real Time Physics Simulation Systems,&lt;br /&gt;A. Boeing,  T. Braunl&lt;br /&gt;Procc. Computer graphics and interactive techniques in Australasia and South East Asia, 2007&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The work on the paper compares different physics engines: &lt;span style="font-weight: bold;"&gt;AGEIA-Nvidia, Bullet, JigLib &lt;/span&gt;(from my friend Danny Chapman)&lt;span style="font-weight: bold;"&gt;,  Newton Physics, ODE, Tokamak, True Axis&lt;/span&gt;.  The authors implemented a &lt;span style="color: rgb(204, 0, 0); font-weight: bold;"&gt;physics abstraction layer (PAL)&lt;/span&gt; to carry out the comparison. You can even&lt;a href="http://www.adrianboeing.com/pal/index.html"&gt; download PAL&lt;/a&gt;. I suppose that it has been an amazing work to wrap all the physics engine in only one application. Unfortunately, &lt;span style="font-weight: bold;"&gt;HAVOK&lt;/span&gt; is not compared nor &lt;span style="font-weight: bold;"&gt;PIXELUX&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;The comparison was based on five tests:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Integrator performance &lt;/span&gt;(i.e. solution of ODE's)&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Material properties   &lt;/span&gt;(i.e. frictions, restitution)&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Constraint stability&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Collision detection&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Stacking test&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;The authors had these results: AGEIA-Nvidia has the best integrator performance. True Axis gave the best results for restitutions followed by Bullet and AGEIA-Nvidia. Static friction was best simulated by Newton followed by AGEIA-Nvidia.  With respecto to constraints, Tokamak provides the best results solving constraints in the least time, ODE provided the most accurate results but requires a lot of time to solve the constraints. In this aspect, among the worst you can find AGEIA-Nvidia. This is very surprising since I've been using AGEIA-Nvidia and it has been quite accurate when solving the constraints. Collision detection was best carried out by  Tokamak and Bullet, however, it should be noted that other engines failed this test because the test was not properly adapted to the engine. For box stacking the author only provided a visual test claiming that all the engines pass the test with the best performance for Tokamak.&lt;br /&gt;&lt;br /&gt;The main conclusion that the authors made is that Bullet engine provided the best results overall.&lt;br /&gt;&lt;br /&gt;Although this result is the conclusion of a huge work, it should be taken with a lot of care, since many aspects were not included in the comparison and that the PAL system does not support correctly some engines (for example AGEIA-Nvidia for collision detection), Pixelux and Havok were not included in the comparison, support from the physics engine provider, other aspects such as fluid simulation, soft body simulation and some specific optimisations of the engines were not included. Which ones are optimised for PS3 or Xbox360 ? Results are evidently tested on a PC. Finally, some tests are not suitable in many cases, for instance the integrator performance may vary for each engine and for each object being simulated.&lt;br /&gt;&lt;br /&gt;Still, PAL is a good starting tool to start testing physics engines.&lt;br /&gt;&lt;br /&gt;Anyway, my favorites are AGEIA-Nvidia, Havok and Bullet and the one we are developping :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8371247972024962105-2766108029868879789?l=3dexperiences.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3dexperiences.blogspot.com/feeds/2766108029868879789/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://3dexperiences.blogspot.com/2008/12/evaluating-physics-engines-for-games.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/2766108029868879789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/2766108029868879789'/><link rel='alternate' type='text/html' href='http://3dexperiences.blogspot.com/2008/12/evaluating-physics-engines-for-games.html' title='Evaluating Physics Engines For Games - PAL -'/><author><name>notlahtolli</name><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>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8371247972024962105.post-2015250323587248905</id><published>2008-12-03T23:42:00.000-08:00</published><updated>2008-12-07T10:53:31.766-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='videogames'/><title type='text'>Loving 2D games.</title><content type='html'>Following previous post on 2D physics engines, see my post on &lt;a href="http://3dexperiences.blogspot.com/2008/11/box2d-part-i.html#links"&gt;Box2D&lt;/a&gt;, I have found the &lt;a href="http://2dboy.com/games.php"&gt;&lt;span style="font-weight: bold;"&gt;World of Goo game&lt;/span&gt;&lt;/a&gt;. It is just fantastic ! &lt;br /&gt;&lt;br /&gt;Besides the originality, the tenderness, the best wii game, or any other good reviews received by this game, what impacts me is that it has been created by only two guys (Kyle Gabler and Ron Carmel). There have been other "external" people involved in the development of the game, but everything goes to only two persons.  This  is a bit of hope for those developing their own games in the corner of their rooms and spending nights on it. &lt;a href="http://www.gamasutra.com/php-bin/news_index.php?story=20534"&gt;Check out the interview of this guys here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Just check the video or go to their &lt;a href="http://2dboy.com/games.php"&gt;website&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/-A_JfkzPwww&amp;hl=fr&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/-A_JfkzPwww&amp;hl=fr&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8371247972024962105-2015250323587248905?l=3dexperiences.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3dexperiences.blogspot.com/feeds/2015250323587248905/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://3dexperiences.blogspot.com/2008/12/loving-2d-games.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/2015250323587248905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/2015250323587248905'/><link rel='alternate' type='text/html' href='http://3dexperiences.blogspot.com/2008/12/loving-2d-games.html' title='Loving 2D games.'/><author><name>notlahtolli</name><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></entry><entry><id>tag:blogger.com,1999:blog-8371247972024962105.post-3951432094118493212</id><published>2008-12-01T11:39:00.000-08:00</published><updated>2008-12-02T00:04:12.142-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='research'/><title type='text'>Optimized Spatial Hashing for Collision Detection: Implementation</title><content type='html'>A couple of weeks ago, I implemented a method to detect collisions between any kind of body -rigid or deformable-. The method is based on the following paper:&lt;br /&gt;&lt;br /&gt;M. Teschner, B. Heidelberger, M. Mueller, D. Pomeranets, M. Gross,      "&lt;b&gt;Optimized Spatial Hashing for Collision Detection of Deformable Objects&lt;/b&gt;,"     &lt;i&gt;Proc. Vision, Modeling, Visualization VMV'03,&lt;/i&gt; Munich, Germany, pp.      47-54, Nov. 19-21, 2003.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cg.informatik.uni-freiburg.de/publications/collisionDetectionHashingVMV2003.pdf"&gt;Click here to get the paper.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Short conclusion and review after the implementation:&lt;br /&gt;&lt;br /&gt;The collision detection method is based on an optimised spatial hashing of the object. I have implemented it for rigid bodies and soft bodies (2D and 3D) so you can use it for both. The method assumes that you can provide the surface vertices of the object  and that you can also provide a collision primitive representation of the object. The collision primitives in case of soft bodies  can be the surface tetrahedrons, for fluids you can inflate the particles, for cloths you can give a thickness to the triangles or even bounding spheres for triangles.&lt;br /&gt;&lt;br /&gt;The method follows two main steps:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;STEP 1:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Discretization and hashing of the surface vertices of the object.  Each vertex is discretized with respect to a cell (an axis aligned box). The coordinates of the vertex &lt;span style="font-style: italic;"&gt;(x,y,z)&lt;/span&gt; are divided by the given cell size and rounded down to the next integer. As in the paper the discretized vertex is: &lt;span style="font-style: italic;"&gt;(i,j,k)&lt;/span&gt; where &lt;span style="font-style: italic;"&gt;i = x/l, j = y/l&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;k = z/l&lt;/span&gt;.   Then, a hash function maps the discretized vertex to a 1D index h.  I used the following code:&lt;span style=";font-family:arial;font-size:85%;"  &gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);font-family:arial;" &gt;inline unsigned int hash(int xi, int yi, int zi) {&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 102, 102);font-family:arial;font-size:85%;"  &gt;unsigned int h = (xi * 73856093)^(yi * 19349663)^(zi * 83492791) ; //same as in paper&lt;br /&gt;return h % sizeOfHashTable&lt;/span&gt;&lt;span style="color: rgb(102, 102, 102);font-family:arial;font-size:85%;"  &gt;} //sizeOfHashTable=big value&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;STEP 2:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Discretization and hashing of the collision primitives as in step 1. For example, for each surface tetrahedron of the object, I compute the AABB and discretize the minimum and maximum values as we did for the vertices. Hash values are computed for all cells affected by the AABB of the tetrahedron.  This is a tricky part and I can explain a bit further if you want. Then, all the vertices found at the according hash table index are tested for intersection. The intersection test can be: vertices inside sphere, tetrahedron or box, or if continuous collision detection, you can use segments versus sphere, tetrahedron or box.&lt;br /&gt;&lt;br /&gt;The rest of the paper determines an optimal  size of the hash table and optimal hash function.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;CONCLUSION:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Good stuff:&lt;/span&gt; The method handles collision detection for deformable objects (cloths and volumetric objects) and rigid bodies. The method handles self-collisions since it hashes all collision primitives and all vertices of all objects in the same table.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Bad stuff:&lt;/span&gt; It is not edge sensitive which means that it does not detect collision with edges. Object penetration happens when edges are not detected. The method detects if vertices are inside the object but not edges. Authors of the paper claim that this is not a problem.. well, not really, if the objects uses a low resolution with big triangles (like the case of triangles in videogames) the penetrations are really evident and things are very unrealistic.&lt;br /&gt;Besides, it is difficult to compute a proper collision response. If a vertex is inside the object, which is the direction of the repulsion normal ? To solve this, I use previous vertex positions to compute segments and handle this problem.&lt;br /&gt;&lt;br /&gt;I am not quite sure about the optimization at the end of section 4.2. It is not clear explained so I am not sure if I got it right (well, it works fine, so I think it is correct). But, is there a big signifcance for this optimization for small hash tables ?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8371247972024962105-3951432094118493212?l=3dexperiences.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3dexperiences.blogspot.com/feeds/3951432094118493212/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://3dexperiences.blogspot.com/2008/12/optimized-spatial-hashing-for-collision.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/3951432094118493212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/3951432094118493212'/><link rel='alternate' type='text/html' href='http://3dexperiences.blogspot.com/2008/12/optimized-spatial-hashing-for-collision.html' title='Optimized Spatial Hashing for Collision Detection: Implementation'/><author><name>notlahtolli</name><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>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8371247972024962105.post-7633785773913966082</id><published>2008-11-28T04:35:00.000-08:00</published><updated>2008-11-30T12:30:06.770-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='physics engines'/><category scheme='http://www.blogger.com/atom/ns#' term='videogames'/><title type='text'>Box2D -Part II-</title><content type='html'>As I told you previously  Box2D has been used in some games. A good example is the Crayon Physics Deluxe that won the first prize in the Independent Game Festival.&lt;br /&gt;&lt;br /&gt;I really like this game. It is very original and simple. When my baby will grow, I will probably get this game. Hopefully, it will be available in a little toy-set instead of using the screen and computer.&lt;br /&gt;&lt;br /&gt;Check it out the website of the game by &lt;a href="http://www.crayonphysics.com/"&gt;clicking here.&lt;/a&gt; You can also check the little video below:&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="349"&gt;&lt;param name="movie" value="http://www.youtube.com/v/QsTqspnvAaI&amp;hl=fr&amp;fs=1&amp;border=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/QsTqspnvAaI&amp;hl=fr&amp;fs=1&amp;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="349"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8371247972024962105-7633785773913966082?l=3dexperiences.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3dexperiences.blogspot.com/feeds/7633785773913966082/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://3dexperiences.blogspot.com/2008/11/box2d-part-ii.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/7633785773913966082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/7633785773913966082'/><link rel='alternate' type='text/html' href='http://3dexperiences.blogspot.com/2008/11/box2d-part-ii.html' title='Box2D -Part II-'/><author><name>notlahtolli</name><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></entry><entry><id>tag:blogger.com,1999:blog-8371247972024962105.post-373543564305858497</id><published>2008-11-25T14:22:00.000-08:00</published><updated>2008-11-25T14:56:04.364-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='research'/><category scheme='http://www.blogger.com/atom/ns#' term='physics engines'/><title type='text'>Box2D -Part I-</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.box2d.org/"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 86px; height: 76px;" src="http://4.bp.blogspot.com/_c44oyh7odLg/SSyBo-Ly8AI/AAAAAAAAABY/CpnUWAunHTw/s320/box2D.gif" alt="" id="BLOGGER_PHOTO_ID_5272731804631232514" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Most of my previous research dealed with soft bodies, collision detection, real-time optimisation, biped robotics for virtual humans, but very recently I have started to investigate rigid body constraints (rigid body contacts, distance constraints, etc.) for real-time simulations.&lt;br /&gt;&lt;br /&gt;I must confess that I am quite new in this. i.e. I have never implemented a contact ball constraint... now, this is about to change. Rigid body research is not new at all, there are more than 20 years that people has spent on that and now there are really good commercial software out there (e.g. Havok, Ageia, etc.) and also open source, like Bullet.&lt;br /&gt;&lt;br /&gt;This is great, but still, if you want to implemented from nothing, you might need some documentation. Papers are the best choice, but if you have simple code available is just fantastic. So, I have found &lt;a href="http://www.box2d.org/"&gt;Box2D&lt;/a&gt; . It is an open source software where rigid body dynamics is implemented in 2D in a very friendly manner. It has been coded with an incredible videogame taste. It has already been used in some 2D videogames.&lt;br /&gt;&lt;br /&gt; And the best thing for me is that it has the implementation of constraints in 2D. This implementation is actually 2D version of the constraints implemented in Bullet !&lt;br /&gt;&lt;br /&gt;I have compiled some tests and surfed throughout the code and it is really good...  so, as a first look, Box2D seems a very didactical starting point for rigid body simulation for games.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8371247972024962105-373543564305858497?l=3dexperiences.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3dexperiences.blogspot.com/feeds/373543564305858497/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://3dexperiences.blogspot.com/2008/11/box2d-part-i.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/373543564305858497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/373543564305858497'/><link rel='alternate' type='text/html' href='http://3dexperiences.blogspot.com/2008/11/box2d-part-i.html' title='Box2D -Part I-'/><author><name>notlahtolli</name><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_c44oyh7odLg/SSyBo-Ly8AI/AAAAAAAAABY/CpnUWAunHTw/s72-c/box2D.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8371247972024962105.post-4121002662767972955</id><published>2008-11-23T12:29:00.000-08:00</published><updated>2008-11-23T13:04:28.357-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XBox360'/><category scheme='http://www.blogger.com/atom/ns#' term='PS3'/><title type='text'>Cesar's reasons to get the XBox360</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_c44oyh7odLg/SSnCtF2JfkI/AAAAAAAAABQ/3PjsS0sLcBQ/s1600-h/DSC00265.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 240px; height: 320px;" src="http://1.bp.blogspot.com/_c44oyh7odLg/SSnCtF2JfkI/AAAAAAAAABQ/3PjsS0sLcBQ/s320/DSC00265.JPG" alt="" id="BLOGGER_PHOTO_ID_5271958918733069890" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Yeah, yeah, yeah !!!  just look at the picture on the left !! it is my new little toy !&lt;br /&gt;&lt;br /&gt;Yes, it is almost one month that I've got an XBOX 360.  After quite a while of time thinking what to choose between an XBOX 360 and and a PlayStation 3, I have finally decided to choose an XBOX360.&lt;br /&gt;&lt;br /&gt;I have only two games: Assasins's creed and GTA IV -special edition -  great games !!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;These are my reasons:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1) XBox is cheaper than a PS3.&lt;br /&gt;2) Performance is almost equal between the XBox360 and PS3.&lt;br /&gt;3) I don't care about BlueRay's PS3. BlueRay discs are more expensive than normal DVD's.&lt;br /&gt;4) I am happy with the 60GB of the XBox 360. I am not a crazy film-game demo downloader. I don't need all the memory that the PS3 has.&lt;br /&gt;5) When I was working at NaturalMotion, I've got GTA IV -special edition -for XBox360 for free, since I was part of the Euphoria team developper... So actually, I had already an XBox360 game.&lt;br /&gt;6) Most of the people I know (except from my nephews that got the PS3) have a XBox 360, so I can share the videogames with them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8371247972024962105-4121002662767972955?l=3dexperiences.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3dexperiences.blogspot.com/feeds/4121002662767972955/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://3dexperiences.blogspot.com/2008/11/cesars-reasons-to-get-xbox360.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/4121002662767972955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/4121002662767972955'/><link rel='alternate' type='text/html' href='http://3dexperiences.blogspot.com/2008/11/cesars-reasons-to-get-xbox360.html' title='Cesar&apos;s reasons to get the XBox360'/><author><name>notlahtolli</name><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_c44oyh7odLg/SSnCtF2JfkI/AAAAAAAAABQ/3PjsS0sLcBQ/s72-c/DSC00265.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8371247972024962105.post-369379341167216724</id><published>2008-11-19T12:48:00.000-08:00</published><updated>2008-11-23T01:03:04.241-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Atari'/><title type='text'>Eden Games in the heart of Atari</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_c44oyh7odLg/SSR9BpOA5DI/AAAAAAAAAAM/kVlqpWY2Ltw/s1600-h/fotoAtari.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 213px;" src="http://1.bp.blogspot.com/_c44oyh7odLg/SSR9BpOA5DI/AAAAAAAAAAM/kVlqpWY2Ltw/s320/fotoAtari.jpg" alt="" id="BLOGGER_PHOTO_ID_5270474931128296498" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;As you probably know, Eden Games is the only internal studio of Atari.&lt;br /&gt;&lt;br /&gt;Well, last November 7th, Eden Games has moved and now it is located in the &lt;a href="http://maps.google.fr/maps?f=q&amp;amp;hl=fr&amp;amp;q=Place+Giovanni+da+Verrazzano,+69009+Lyon,+Rh%C3%B4ne,+Rh%C3%B4ne-Alpes&amp;amp;sll=45.875661,13.878215&amp;amp;sspn=0.017359,0.035534&amp;amp;g=Place+Giovanni+da+Verrazzano,+69009+Lyon,+Rh%C3%B4ne,+Rh%C3%B4ne-Alpes&amp;amp;ie=UTF8&amp;amp;cd=1&amp;amp;geocode=FaqqugIdPW9JAA&amp;amp;ll=45.787951,4.812613&amp;amp;spn=0.008693,0.017767&amp;amp;z=16"&gt;heart of Atari in Lyon, France.&lt;/a&gt; It is just besides Electronics Arts.&lt;br /&gt;&lt;br /&gt;So now, we are in the middle of a beautiful complex where the buildings seem to be boats parked in a port (just look at the picture).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Offices are now open-space style which I think is a good thing since it is easier to share ideas... however, we have lost the intimity of the 3person offices... But that is not all that we have lost, now I have to walk for 1 hour to get there and we don't have free drinks in the building anymore :(&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8371247972024962105-369379341167216724?l=3dexperiences.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3dexperiences.blogspot.com/feeds/369379341167216724/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://3dexperiences.blogspot.com/2008/11/eden-games-in-heart-of-atari.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/369379341167216724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/369379341167216724'/><link rel='alternate' type='text/html' href='http://3dexperiences.blogspot.com/2008/11/eden-games-in-heart-of-atari.html' title='Eden Games in the heart of Atari'/><author><name>notlahtolli</name><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_c44oyh7odLg/SSR9BpOA5DI/AAAAAAAAAAM/kVlqpWY2Ltw/s72-c/fotoAtari.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8371247972024962105.post-5353226818675950150</id><published>2008-11-16T14:49:00.000-08:00</published><updated>2008-11-20T10:29:28.739-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Graphics Events'/><title type='text'>VRIPHYS 08</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_c44oyh7odLg/SSWrgCwlXLI/AAAAAAAAAAs/8na9zcY-Iuk/s1600-h/IMG_3147.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_c44oyh7odLg/SSWrgCwlXLI/AAAAAAAAAAs/8na9zcY-Iuk/s320/IMG_3147.JPG" alt="" id="BLOGGER_PHOTO_ID_5270807505891843250" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Last week I attended VRIPHYS 08 in Grenoble, France.  VRIPHYS 08 is a workshop related to scientific research in the domain of interactive virtual reality and physical simulations.&lt;br /&gt;&lt;br /&gt;The conference was organized by Francois Faure and Matthias Teschner.  Click&lt;a href="http://www.vriphys.org/workshops/vriphys08/"&gt; HERE&lt;/a&gt; to check the website of the conference.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_c44oyh7odLg/SSWruKlCE9I/AAAAAAAAAA0/F9qXHZKPNl8/s1600-h/IMG_3143.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_c44oyh7odLg/SSWruKlCE9I/AAAAAAAAAA0/F9qXHZKPNl8/s320/IMG_3143.JPG" alt="" id="BLOGGER_PHOTO_ID_5270807748509045714" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The conference level was acceptable with some papers showing good research and some others with on going research. Most of the papers are related to real-time interactive 3D simulations.&lt;br /&gt;&lt;br /&gt;I had also the opportunity to have dinner with some  colleagues in the domain such as Matthias Muller, Matthias Teschner, Thomas Stumpp, Markus Becker, Francois Faure and others.&lt;br /&gt;&lt;br /&gt;Brief, I enjoyed the workshop. Hopefully there will be another vriphys next year.&lt;br /&gt;&lt;br /&gt;And if you look carefully, you will find me in both pictures !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8371247972024962105-5353226818675950150?l=3dexperiences.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://3dexperiences.blogspot.com/feeds/5353226818675950150/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://3dexperiences.blogspot.com/2008/11/vriphys-08.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/5353226818675950150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8371247972024962105/posts/default/5353226818675950150'/><link rel='alternate' type='text/html' href='http://3dexperiences.blogspot.com/2008/11/vriphys-08.html' title='VRIPHYS 08'/><author><name>notlahtolli</name><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_c44oyh7odLg/SSWrgCwlXLI/AAAAAAAAAAs/8na9zcY-Iuk/s72-c/IMG_3147.JPG' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
