{"id":183,"date":"2007-02-04T22:10:56","date_gmt":"2007-02-05T02:10:56","guid":{"rendered":"http:\/\/www.rakkar.org\/blog\/?p=183"},"modified":"2007-02-04T22:10:56","modified_gmt":"2007-02-05T02:10:56","slug":"physx-pretty-good-so-far","status":"publish","type":"post","link":"https:\/\/rakkar.org\/blog\/index.php\/2007\/02\/04\/physx-pretty-good-so-far\/","title":{"rendered":"PhysX pretty good so far"},"content":{"rendered":"<p>\t\t\t\tI spent several hours looking over PhysX and NxOgre, a wrapper for PhysX to bridge the gap between the two systems.  I also experimented with the modelling program plugin for PhysX.<\/p>\n<p>Conclusions so far:<\/p>\n<p>PhysX: Powerful, pretty easy to use, professional quality level.  Documentation is wrong in some places but nothing to really kill my productivity.  Code documentation is generally sufficient &#8211; again while there are holes, it&#8217;s not enough to kill my productivity.  Overall it&#8217;s pretty much pleasant to work with and I&#8217;m making good progress.  The only thing I don&#8217;t like is that it requires its own installer.<\/p>\n<p>NxOgre: Very easy to use if you already know what you&#8217;re doing.  Otherwise about 70% of the documentation is missing and it&#8217;s definitely not clear what to do in these cases.  Coding quality is above average relative to other freeware stuff, but still not up to the level I like to work with.  In the end, I decided not to go with it.  This is for three reasons:<br \/>\n1. Unclear memory management.   While it&#8217;s clear that NxOgre handles most memory management for you, I don&#8217;t feel very comfortable putting new calls all over the place and trusting they were handled correctly.  The architecture pretty much requires you do this.<br \/>\n2. Unique name convention for objects.  This is similar to what Ogre does, and is one of the biggest annoyances about Ogre.  I don&#8217;t want to name every damn class I want with a text string, especially not if I have to constantly work to make sure it&#8217;s unique.<br \/>\n3. Overhead.  The documentation and samples for PhysX are just much more clear and straightforward, with better documentation, and it seems relatively easy to use.  I don&#8217;t see the point of using NxOgre except to save me time, and without clear documentation it won&#8217;t save me much of anything.  Plus, if I&#8217;m going to use a library it needs to be written at a higher quality level than what I saw or I&#8217;m not going to trust that it won&#8217;t crash or leak memory somewhere.<\/p>\n<p>Modelling plugin: A buggy terrible mess, with outdated and wrong documentation.  It looks like it was written halfway, then abandoned.  I&#8217;m going to just integrate with the exporter I already have and parse out objects.<\/p>\n<p>Right now I have PhysX integrated with my engine and creating a physics scene.  I look forward to seeing how fast I can get the ship flying around.\t\t<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I spent several hours looking over PhysX and NxOgre, a wrapper for PhysX to bridge the gap between the two systems. I also experimented with the modelling program plugin for PhysX. Conclusions so far: PhysX: Powerful, pretty easy to use, professional quality level. Documentation is wrong in some places but nothing to really kill my [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[2],"tags":[],"_links":{"self":[{"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/posts\/183"}],"collection":[{"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=183"}],"version-history":[{"count":0,"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/posts\/183\/revisions"}],"wp:attachment":[{"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=183"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=183"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=183"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}