<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>Oops! 3D Physics Framework (and more) for XNA</title><link>http://www.codeplex.com/OopsFramework/Project/ProjectRss.aspx</link><description>The Oops&amp;#33; Framework includes many game services and components that extend Microsoft&amp;#39;s XNA Framework.  The most noteworthy of these components is an easy to use 3D Physics game component&amp;#47;framework ...</description><item><title>NEW POST: xnaml model and animation</title><link>http://www.codeplex.com/OopsFramework/Thread/View.aspx?ThreadId=28326</link><description>&lt;div style="line-height: normal;"&gt;Thanks for the information! I'll look forward to the new (alpha)beta release. I'm in the process of trying to use different parts of the framework (except for the animation) to determine how hard it will be to add functionality I need while remaining consistent with your components and interfaces. It still looks promising. Your code is nicely organized.&lt;br&gt;
&lt;br&gt;
A random thought on blender: their community is the best I've ever worked with. It's big and active and extremely helpful.&lt;br&gt;
&lt;/div&gt;</description><author>arby10101</author><pubDate>Tue, 27 May 2008 18:06:22 GMT</pubDate><guid isPermaLink="false">NEW POST: xnaml model and animation 20080527060622P</guid></item><item><title>NEW POST: xnaml model and animation</title><link>http://www.codeplex.com/OopsFramework/Thread/View.aspx?ThreadId=28326</link><description>&lt;div style="line-height: normal;"&gt;The xnaml format is something I came up with so I could quickly write an exporter for Animation Master.  It's loosely based on the MD5 format from the Doom3 engine.  &lt;br&gt;
&lt;br&gt;
I actually just started using blender for modeling and created a Python script and content importer for an xml based MD5 format.  I'll probably be updating the source and releasing another beta of Oops!.  I'll include the Python script as well.&lt;br&gt;
&lt;br&gt;
FYI - The next beta version (probably will move it back to alpha) of Oops Physics Component is much improved and has true multi-threaded support and static mesh support.  I'm testing it on XBOX360 right now and should be releasing the source in June.  The usage of the framwork remains mostly the same except that the CollisonRay is not a CollisionShape anymore (how I had it a few releases ago) and that a RigidBody is not required for static CollisionShapes.&lt;br&gt;
&lt;br&gt;
Good luck!
&lt;/div&gt;</description><author>FretboardOfFury</author><pubDate>Sun, 25 May 2008 16:32:54 GMT</pubDate><guid isPermaLink="false">NEW POST: xnaml model and animation 20080525043254P</guid></item><item><title>NEW POST: xnaml model and animation</title><link>http://www.codeplex.com/OopsFramework/Thread/View.aspx?ThreadId=28326</link><description>&lt;div style="line-height: normal;"&gt;I like the oops framework and have a rudimentary working game for tryout purposes. I'm using my normal model import methods. But I was looking at the content pipeline project and found that I don't know what xnaml model or xnaml animation are. Is this a format that is unique to oops? If so is there a file specification? I did a search and got no results although the xnaml name sounds familiar. Is it something I should already know about? I ask because I would consider using it. I use blender for modeling and it's pretty easy to write export scripts for a particular format. Thanks for any information.&lt;br&gt;
&lt;/div&gt;</description><author>arby10101</author><pubDate>Fri, 23 May 2008 23:17:08 GMT</pubDate><guid isPermaLink="false">NEW POST: xnaml model and animation 20080523111708P</guid></item><item><title>COMMENTED ISSUE: Collision detection</title><link>http://www.codeplex.com/OopsFramework/WorkItem/View.aspx?WorkItemId=8899</link><description>Hey,&lt;br /&gt;The framework has trouble handling spheres going at high speeds when detecting Shape on Shape collisions, but does fine when using a plane. &lt;br /&gt;I&amp;#39;m using Collision boxes as walls, I&amp;#39;d like to use the planes if possible, but I haven&amp;#39;t found a way. Let me know if you fix this. &lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;Johny&lt;br /&gt;Comments: ** Comment from web user: Ens ** &lt;p&gt;Just a thought for any interested readers out there. When dealing with an object traveling at a very high velocity you will likely reach a point where the change in position per time frame will cause a high speed object to leap over another object without causing the desired collision. When dealing with such things as a bullet or other projectile attach a &amp;#39;ray&amp;#39; or &amp;#39;box&amp;#39; collision object to the _back_ &amp;#40;opposite direction of velocity vector&amp;#41;, or slightly less accurately to the _front_, of your projectile of a length at least equal to that of the distance traveled from the previous time frame to the current time frame prior to computing collisions. The length can be easily computed by storing a last position and doing vector subtraction or by multiplying the velocity vector by the time delta. By doing this you effectively _stretch_ your projectile so that it can never quantum-leap through another object. You can choose to render or not render this extension - it can be rather artful.&lt;/p&gt;&lt;p&gt;-Cheers &lt;/p&gt;</description><author>Ens</author><pubDate>Wed, 30 Apr 2008 05:17:11 GMT</pubDate><guid isPermaLink="false">COMMENTED ISSUE: Collision detection 20080430051711A</guid></item><item><title>NEW POST: Problems with CollisionCallbacks</title><link>http://www.codeplex.com/OopsFramework/Thread/View.aspx?ThreadId=23892</link><description>&lt;div class="wikidoc"&gt;
This sounds like the problem that Kylawl reported in the issue tracker. Are you creating a &lt;b&gt;QuadTree&lt;/b&gt; of adequate size? All objects must exist within the bounds of your &lt;i&gt;QuadTree&lt;/i&gt; (or one of its &lt;i&gt;descendant nodes&lt;/i&gt;). In the problem that Kylawl reported i observed that the &lt;i&gt;CompareWorld&lt;/i&gt; method was never called when a box was spawned on the extent of the &lt;i&gt;QuadTree&lt;/i&gt; and therefore collisions were never detected. &lt;br /&gt; &lt;br /&gt;I took a quick look at the &lt;i&gt;QuadTree.Add&lt;/i&gt; method and traced back to the compare method used. It will not add an item that is outside the extents of the tree. The &lt;i&gt;QuadTree.Add&lt;/i&gt; method will return a bool indicating if the item was added or not, give this return value a check (and perhapses set an assertion on it to be alerted to a miss).&lt;br /&gt; &lt;br /&gt;In the demo project the &lt;i&gt;QuadTree&lt;/i&gt; is defined in ExampleScreen.cs as:&lt;br /&gt;this.space = new QuadTree&amp;lt;CollisionShape&amp;gt;(new Vector3(200.0f, 200.0f, 200.0f), 4, this);&lt;br /&gt; &lt;br /&gt;Compare method from ExampleScreen.cs line 467:&lt;br /&gt;return node.Bounds.Contains(obj.AABB) == ContainmentType.Contains;&lt;br /&gt; &lt;br /&gt;Also note that if an object leaves the extents of the &lt;i&gt;QuadTree&lt;/i&gt; it will be automatically removed from the tree to allow objects to 'escape'. The QuadTree supports the idea of partitioning with this mechanism to allow for groups of objects in space to only be concerned with interacting with objects in that same space. Take for example the idea of a world with both an inside and outside region, or rooms in a level, there is no need for objects to check for collision with objects in another room or logical world devision - it cant happen. The mechanism employed by &lt;i&gt;Oops&lt;/i&gt; allows for a more complex test than &lt;i&gt;is the object inside a square extents space&lt;/i&gt;. The compare line referred to above could carry out a more complex test to segregate objects.&lt;br /&gt; &lt;br /&gt;-Hope this helps!&lt;br /&gt;
&lt;/div&gt;</description><author>Ens</author><pubDate>Wed, 30 Apr 2008 04:57:32 GMT</pubDate><guid isPermaLink="false">NEW POST: Problems with CollisionCallbacks 20080430045732A</guid></item><item><title>COMMENTED ISSUE: Box collision response issue.</title><link>http://www.codeplex.com/OopsFramework/WorkItem/View.aspx?WorkItemId=10041</link><description>When you spawn a box at the origin and pick some arbitrary up.. like 200, with all other values zeroed out... no rotation &amp;#40;angular velocity&amp;#41; and no orientation &amp;#61; identity.&lt;br /&gt;When the box falls, it&amp;#39;ll get a collision callback but will fail to have any response. This occurs in a large number of test cases. It seems to have something to do with the orientation for the most part. Applying a fare enough ammount of orientation will cause the box to collide correctly. As so some various random positions.&lt;br /&gt;Try running a box with these settings. - This was modified from the example screen, it should be pasteable back in over the box creation for loop. spawn with 1 box, watch the tears &amp;#58;&amp;#40;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; Create a rigid body for the current box.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;RigidBody rigidBody &amp;#61; new RigidBody&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; Populate some of the rigid body&amp;#39;s parameters.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;rigidBody.Flags &amp;#124;&amp;#61; RigidBodyFlags.AutoDisable&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;rigidBody.Position &amp;#61; new Vector3&amp;#40;0.0f, 200, 0.0f&amp;#41;&amp;#59;&amp;#47;&amp;#47;random.NextVector3&amp;#40;-90.0f, 90.0f, 50.0f, 55.0f, -90.0f, 90.0f&amp;#41;&amp;#59;&lt;br /&gt;                &amp;#47;&amp;#47;rigidBody.Orientation &amp;#61; random.NextQuaternion&amp;#40;-90.0f, 90.0f, 50.0f, 55.0f, -90.0f, 90.0f&amp;#41;&amp;#59;&lt;br /&gt;                &amp;#47;&amp;#47;rigidBody.Orientation.Normalize&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;                &amp;#47;&amp;#47;rigidBody.Rotation &amp;#61; random.NextVector3&amp;#40;-0.5f, 0.5f&amp;#41;&amp;#59;&lt;br /&gt;                &amp;#47;&amp;#47;rigidBody.Rotation.Normalize&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;rigidBody.Acceleration &amp;#61; new Vector3&amp;#40;0.0f, -9.8f, 0.0f&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;rigidBody.Friction &amp;#61; 0.5f&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;rigidBody.Restitution &amp;#61; 0.6f&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;rigidBody.LinearDamping &amp;#61; 0.95f&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;rigidBody.AngularDamping &amp;#61; 0.8f&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; Enable the rigid body.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;rigidBody.SetEnabled&amp;#40;true&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; Create the box.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;CollisionBox box &amp;#61; new CollisionBox&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; Populate some of the box&amp;#39;s parameters.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;box.Extents &amp;#61; new Vector3&amp;#40;5&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;box.Mass &amp;#61; box.Extents.X &amp;#42; box.Extents.Y &amp;#42; box.Extents.Z &amp;#42; 8.0f&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; Add the box to the rigid body and initialize.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;rigidBody.CollisionShapes.Add&amp;#40;box&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;rigidBody.CalculateDerivedData&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; Assign the box to the quad-tree and shape list.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;this.space.Add&amp;#40;box&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;this.boxes.Add&amp;#40;box&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;this.rigidBodies.Add&amp;#40;rigidBody&amp;#41;&amp;#59;&lt;br /&gt;Comments: ** Comment from web user: Ens ** &lt;p&gt;The problem is in your code. You are spawning the object out of the bounds of the world. The &amp;#39;space&amp;#39; is defined as follows in ExampleScreen.cs&lt;br /&gt;this.space &amp;#61; new QuadTree&amp;#60;CollisionShape&amp;#62;&amp;#40;new Vector3&amp;#40;200.0f, 200.0f, 200.0f&amp;#41;, 4, this&amp;#41;&amp;#59;&lt;/p&gt;&lt;p&gt;If you change your startup position to even this, it will work.&lt;br /&gt;rigidBody.Position &amp;#61; new Vector3&amp;#40; 0.0f, 199.999f, 0.0f &amp;#41;&amp;#59;&lt;/p&gt;</description><author>Ens</author><pubDate>Wed, 30 Apr 2008 04:06:32 GMT</pubDate><guid isPermaLink="false">COMMENTED ISSUE: Box collision response issue. 20080430040632A</guid></item><item><title>CREATED ISSUE: Box collision response issue.</title><link>http://www.codeplex.com/OopsFramework/WorkItem/View.aspx?WorkItemId=10041</link><description>When you spawn a box at the origin and pick some arbitrary up.. like 200, with all other values zeroed out... no rotation &amp;#40;angular velocity&amp;#41; and no orientation &amp;#61; identity.&lt;br /&gt;When the box falls, it&amp;#39;ll get a collision callback but will fail to have any response. This occurs in a large number of test cases. It seems to have something to do with the orientation for the most part. Applying a fare enough ammount of orientation will cause the box to collide correctly. As so some various random positions.&lt;br /&gt;Try running a box with these settings. - This was modified from the example screen, it should be pasteable back in over the box creation for loop. spawn with 1 box, watch the tears &amp;#58;&amp;#40;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; Create a rigid body for the current box.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;RigidBody rigidBody &amp;#61; new RigidBody&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; Populate some of the rigid body&amp;#39;s parameters.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;rigidBody.Flags &amp;#124;&amp;#61; RigidBodyFlags.AutoDisable&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;rigidBody.Position &amp;#61; new Vector3&amp;#40;0.0f, 200, 0.0f&amp;#41;&amp;#59;&amp;#47;&amp;#47;random.NextVector3&amp;#40;-90.0f, 90.0f, 50.0f, 55.0f, -90.0f, 90.0f&amp;#41;&amp;#59;&lt;br /&gt;                &amp;#47;&amp;#47;rigidBody.Orientation &amp;#61; random.NextQuaternion&amp;#40;-90.0f, 90.0f, 50.0f, 55.0f, -90.0f, 90.0f&amp;#41;&amp;#59;&lt;br /&gt;                &amp;#47;&amp;#47;rigidBody.Orientation.Normalize&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;                &amp;#47;&amp;#47;rigidBody.Rotation &amp;#61; random.NextVector3&amp;#40;-0.5f, 0.5f&amp;#41;&amp;#59;&lt;br /&gt;                &amp;#47;&amp;#47;rigidBody.Rotation.Normalize&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;rigidBody.Acceleration &amp;#61; new Vector3&amp;#40;0.0f, -9.8f, 0.0f&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;rigidBody.Friction &amp;#61; 0.5f&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;rigidBody.Restitution &amp;#61; 0.6f&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;rigidBody.LinearDamping &amp;#61; 0.95f&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;rigidBody.AngularDamping &amp;#61; 0.8f&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; Enable the rigid body.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;rigidBody.SetEnabled&amp;#40;true&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; Create the box.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;CollisionBox box &amp;#61; new CollisionBox&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; Populate some of the box&amp;#39;s parameters.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;box.Extents &amp;#61; new Vector3&amp;#40;5&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;box.Mass &amp;#61; box.Extents.X &amp;#42; box.Extents.Y &amp;#42; box.Extents.Z &amp;#42; 8.0f&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; Add the box to the rigid body and initialize.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;rigidBody.CollisionShapes.Add&amp;#40;box&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;rigidBody.CalculateDerivedData&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;&amp;#47;&amp;#47; Assign the box to the quad-tree and shape list.&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;this.space.Add&amp;#40;box&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;this.boxes.Add&amp;#40;box&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;&amp;#9;&amp;#9;&amp;#9;this.rigidBodies.Add&amp;#40;rigidBody&amp;#41;&amp;#59;&lt;br /&gt;</description><author>Kylawl</author><pubDate>Thu, 24 Apr 2008 03:31:38 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: Box collision response issue. 20080424033138A</guid></item><item><title>NEW POST: Rigid body static flag</title><link>http://www.codeplex.com/OopsFramework/Thread/View.aspx?ThreadId=26348</link><description>&lt;div class="wikidoc"&gt;
Assuming the static flag for rigid bodies is intended to be used for static objects, it would be nice if setting the position and rotation actually updated the internal transform on the object so that it doesn't just hang out at the origin.&lt;br /&gt; &lt;br /&gt;Cheers&lt;br /&gt; &lt;br /&gt;Kyle&lt;br /&gt;
&lt;/div&gt;</description><author>Kylawl</author><pubDate>Tue, 22 Apr 2008 00:52:48 GMT</pubDate><guid isPermaLink="false">NEW POST: Rigid body static flag 20080422125248A</guid></item><item><title>NEW POST: shadow mapping </title><link>http://www.codeplex.com/OopsFramework/Thread/View.aspx?ThreadId=24956</link><description>&lt;div class="wikidoc"&gt;
Hey sueds,&lt;br /&gt; &lt;br /&gt;Does the shadow mapping work in the examples without modification?  If not, what is happening?  I don't have any documentation for it and the only example of it's use right now is in the &lt;b&gt;ExampleScreen.cs&lt;/b&gt;.&lt;br /&gt;
&lt;/div&gt;</description><author>FretboardOfFury</author><pubDate>Tue, 08 Apr 2008 01:00:19 GMT</pubDate><guid isPermaLink="false">NEW POST: shadow mapping  20080408010019A</guid></item><item><title>NEW POST: shadow mapping </title><link>http://www.codeplex.com/OopsFramework/Thread/View.aspx?ThreadId=24956</link><description>&lt;div class="wikidoc"&gt;
I try to tweak your example and I don't work. Because the library is huge is hard to me to know what I need to ride off or keep. &lt;br /&gt;I was true I need to use the quad tree ... I don't how.&lt;br /&gt;Don't you have maybe any documentation or an unique example with this shadow system ? &lt;br /&gt; &lt;br /&gt;cheers&lt;br /&gt;
&lt;/div&gt;</description><author>sueds</author><pubDate>Wed, 02 Apr 2008 04:00:27 GMT</pubDate><guid isPermaLink="false">NEW POST: shadow mapping  20080402040027A</guid></item><item><title>NEW POST: shadow mapping </title><link>http://www.codeplex.com/OopsFramework/Thread/View.aspx?ThreadId=24956</link><description>&lt;div class="wikidoc"&gt;
I try what you've said but it don't wrk properly. I tried to use the pssmEffect class but it derive itself from other classes and I'm really a good programmer so It make me more confused. Do you you what I need to use it in a simple draw method ? &lt;br /&gt; &lt;br /&gt;Do I need a quad tree ? ( it seems ridiculous but I may have understand that in the code)&lt;br /&gt;
&lt;/div&gt;</description><author>sueds</author><pubDate>Mon, 31 Mar 2008 01:01:23 GMT</pubDate><guid isPermaLink="false">NEW POST: shadow mapping  20080331010123A</guid></item><item><title>NEW POST: shadow mapping </title><link>http://www.codeplex.com/OopsFramework/Thread/View.aspx?ThreadId=24956</link><description>&lt;div class="wikidoc"&gt;
Hey,&lt;br /&gt; &lt;br /&gt;You can add Parallel-Split Shadow-mapping to to your game by using the &lt;b&gt;Oops.Xna.Framework.PssmEffect&lt;/b&gt; class and the &lt;b&gt;PSSM.fx&lt;/b&gt; located in the &lt;u&gt;Oops.Xna.Framework.Testing.App&lt;/u&gt; project.  Take a look at the &lt;b&gt;ExampleScreen.cs&lt;/b&gt; file in the &lt;u&gt;Oops.Xna.Framework.Testing.App&lt;/u&gt; project for a working example.&lt;br /&gt; &lt;br /&gt;FYI - The &lt;b&gt;Oops.Xna.Framework.PssmEffect&lt;/b&gt; class uses the &lt;b&gt;Camera&lt;/b&gt; class from whe Oops! framework.  slight modifications may be necessary to the &lt;b&gt;PssmEffect&lt;/b&gt; class if you have a different camera mechanism.  &lt;br /&gt; &lt;br /&gt;Good luck!&lt;br /&gt;
&lt;/div&gt;</description><author>FretboardOfFury</author><pubDate>Sun, 30 Mar 2008 06:13:41 GMT</pubDate><guid isPermaLink="false">NEW POST: shadow mapping  20080330061341A</guid></item><item><title>NEW POST: shadow mapping </title><link>http://www.codeplex.com/OopsFramework/Thread/View.aspx?ThreadId=24956</link><description>&lt;div class="wikidoc"&gt;
how can I add some shadow mapping in my game ? &lt;br /&gt;
&lt;/div&gt;</description><author>sueds</author><pubDate>Sat, 29 Mar 2008 08:56:50 GMT</pubDate><guid isPermaLink="false">NEW POST: shadow mapping  20080329085650A</guid></item><item><title>NEW POST: Problems with CollisionCallbacks</title><link>http://www.codeplex.com/OopsFramework/Thread/View.aspx?ThreadId=23892</link><description>&lt;div class="wikidoc"&gt;
Hey Blake,&lt;br /&gt; &lt;br /&gt;First, make sure that the class(es) the implements the &lt;b&gt;ICollisionGenerator&lt;/b&gt; and &lt;b&gt;ICollisionCallback&lt;/b&gt; interfaces are being passed into the constructor of the &lt;b&gt;PhysicsComponent&lt;/b&gt; instance.  There a few of them.&lt;br /&gt; &lt;br /&gt;I f you still have a problem contact me &lt;a href="http://www.codeplex.com/OopsFramework/Wiki/View.aspx?title=http%3a%2f%2fwww.codeplex.com%2fOopsFramework%2fPeople%2fProjectPeople.aspx"&gt;here&lt;/a&gt; and I'll respond so you can send me your code if you want.&lt;br /&gt; &lt;br /&gt;Good luck!&lt;br /&gt;
&lt;/div&gt;</description><author>FretboardOfFury</author><pubDate>Mon, 17 Mar 2008 00:47:46 GMT</pubDate><guid isPermaLink="false">NEW POST: Problems with CollisionCallbacks 20080317124746A</guid></item><item><title>NEW POST: Problems with CollisionCallbacks</title><link>http://www.codeplex.com/OopsFramework/Thread/View.aspx?ThreadId=23892</link><description>&lt;div class="wikidoc"&gt;
Fret,&lt;br /&gt; &lt;br /&gt;I recently started using Oops3D to create a game for a class project and I really like what I see.  I am just having trouble getting it working.&lt;br /&gt; &lt;br /&gt;I implemented the IPhysicsIntegrator, ICollisionGenerator, IQuadTreeComparer&amp;lt;CollisionShape&amp;gt;, ICollisionCallback interfaces in my original Game object.  I also added a RigidBody with a simple CollisionBox to my entity objects.  I add these RigidBodies to the quadtree.&lt;br /&gt; &lt;br /&gt;Currently, I just added 10 entity objects to my scene.  These entities just start falling, so I know the PhysicsComponent is working.&lt;br /&gt; &lt;br /&gt;I put in some checks to make sure the ICollisionGenerator and ICollisionCallback functions are being called.  They are only being called when the program is first run.  When I start moving any of the entities into each other, the collision callbacks are not being called.&lt;br /&gt; &lt;br /&gt;I have only started using your code for a few days now, so I must be missing something.  Let me know if you need anymore info, maybe some code.&lt;br /&gt; &lt;br /&gt;Thanks in advance,&lt;br /&gt;Blake&lt;br /&gt;
&lt;/div&gt;</description><author>basawyer</author><pubDate>Wed, 12 Mar 2008 17:32:55 GMT</pubDate><guid isPermaLink="false">NEW POST: Problems with CollisionCallbacks 20080312053255P</guid></item><item><title>NEW POST: Using 4 collision planes as world boundary</title><link>http://www.codeplex.com/OopsFramework/Thread/View.aspx?ThreadId=22980</link><description>&lt;div class="wikidoc"&gt;
I think you need to make all your plane distances negative.  I'll check when my DBP contest code when I get a chance - I did the same thing there.&lt;br /&gt;
&lt;/div&gt;</description><author>FretboardOfFury</author><pubDate>Mon, 03 Mar 2008 14:32:25 GMT</pubDate><guid isPermaLink="false">NEW POST: Using 4 collision planes as world boundary 20080303023225P</guid></item><item><title>UPDATED RELEASE: Oops! XNA 3D Physics Framework 0.8.5.0 Beta (Feb 24, 2008)</title><link>http://www.codeplex.com/OopsFramework/Release/ProjectReleases.aspx?ReleaseId=10743</link><description>This beta release of the Oops&amp;#33; Framework contains the source code from Change Set 15616.&lt;br /&gt;&lt;br /&gt;&amp;#43;Framework&amp;#43;&lt;br /&gt;&amp;#42; Added a &amp;#42;QuaternionExtension.Decompose&amp;#42; method.&lt;br /&gt;&amp;#42; Added a &amp;#42;GameComponentCollection&amp;#60;T&amp;#62;&amp;#42; class for collections of specific game components.&lt;br /&gt;&amp;#42; Added a &amp;#42;KeyedGameComponentCollection&amp;#60;T&amp;#62;&amp;#42; class for collections of specific game components keyed by a owned value.&lt;br /&gt;&amp;#43;Graphics&amp;#43;&lt;br /&gt;&amp;#42; Added &amp;#42;PssmEffect&amp;#42; and &amp;#42;PssmDirectionalLight&amp;#42; classes to help facilitate Parallel Split Shadow Maps.&lt;br /&gt;&amp;#42; Added &amp;#42;SpriteFontExtension&amp;#42; class to help with displaying text.&lt;br /&gt;&amp;#43;UI&amp;#43;&lt;br /&gt;&amp;#42; Started simple UI functionality.&lt;br /&gt;&amp;#42; Started Screen Space Service functionality.&lt;br /&gt;&amp;#43;Physics&amp;#43;&lt;br /&gt;&amp;#42; Removed &amp;#42;CollisionContext.OnCollided&amp;#42; method overload with &amp;#42;CollisionPlane&amp;#42; parameter.  Use the remaining &amp;#42;OnCollieded&amp;#42; method.&lt;br /&gt;&amp;#42; Added an overloaded &amp;#42;CollisionDetector.Detect&amp;#42; method that does not require a context.&lt;br /&gt;&amp;#42; Fixed the box-ray collision test.  See &amp;#42;BoxRayCollisionDetector.Collide&amp;#42; method.&lt;br /&gt;&amp;#42; Fixed the shape-terrain broad-phase collision test.  See &amp;#42;TerrainShapeCollisionDetector.Collide&amp;#42; method.&lt;br /&gt;&amp;#42; The &amp;#42;CollisionRay&amp;#42; class&amp;#39;s automatically created &amp;#42;RigidBody&amp;#42; is not set to static anymore.&lt;br /&gt;&amp;#42; Added &amp;#42;Position&amp;#42; and &amp;#42;Direction&amp;#42; properties to the &amp;#42;CollisionRay&amp;#42; class.&lt;br /&gt;&amp;#42; Support for ray-box and ray-sphere collision tests should now be working.&lt;br /&gt;&amp;#42; Added a &amp;#42;Tag&amp;#42; property to the &amp;#42;CollisionShape&amp;#42; class.&lt;br /&gt;&amp;#42; Changed &amp;#42;CollisionShape.Offset&amp;#42; from a field to a property so recalculation of the associated &amp;#42;RigidBody&amp;#42;&amp;#39;s mass properties occurred.&lt;br /&gt;&amp;#42; Removed &amp;#42;CollisionShape.CanCompare&amp;#42; method overload with &amp;#42;CollisionPlane&amp;#42; parameter.  Use the remaining &amp;#42;CanCompare&amp;#42; method.&lt;br /&gt;&amp;#42; Fixed issue where the &amp;#42;CollisionTerrain&amp;#42; was not initializing correctly.&lt;br /&gt;&amp;#42; Removed unnessary code in the &amp;#42;RigidBody.CalculateMassProperties&amp;#42; method.&lt;br /&gt;&amp;#42; Defaults of the &amp;#42;CatagoryFlags&amp;#42; and &amp;#42;CollisionFlags&amp;#42; of the &amp;#42;CollisionShape&amp;#42; class changed to 0xFFFFFFFF.&lt;br /&gt;&amp;#43;Space Partitioning&amp;#43;&lt;br /&gt;&amp;#42; Exposed the quad-tree&amp;#39;s bound box.  See &amp;#42;QuadTree&amp;#60;T&amp;#62;.Bounds&amp;#42; property.&lt;br /&gt;&amp;#43;Input&amp;#43;&lt;br /&gt;&amp;#42; Added &amp;#42;CursorComponent&amp;#42; for cursor support.&lt;br /&gt;&amp;#43;Diagnostics&amp;#43;&lt;br /&gt;&amp;#42; Implemented FPS component functionality.&lt;br /&gt;&amp;#43;Viewport&amp;#43;&lt;br /&gt;&amp;#42; Modified &amp;#42;ViewpointComponent.Projection&amp;#42; to get the projection from the active camera.&lt;br /&gt;&amp;#42; Added projection and viewport fields to the &amp;#42;Camera&amp;#42; class.&lt;br /&gt;&amp;#42; Added &amp;#42;Camera.GetFrustrum&amp;#42; method.&lt;br /&gt;&amp;#43;Testing Application&amp;#43;&lt;br /&gt;&amp;#42; Added new Picking example to testing application.  See &amp;#42;Example5Screen&amp;#42;.&lt;br /&gt;&amp;#42; Incorporated Parallel Split Shadow Map functionality into examples.  Press &amp;#60;Space&amp;#62; or the GamePad&amp;#39;s Y button to turn on&amp;#47;off.  Press &amp;#60;PgUp&amp;#62;&amp;#47;&amp;#60;PgDn&amp;#62; or the Gamepads &amp;#60;Shoulder&amp;#62; buttons to change number of splits.  &amp;#42;NOT TESTED ON XBOX360&amp;#33;&amp;#33;&amp;#33;&amp;#42;&lt;br /&gt;&amp;#42; Uses &amp;#42;FrameRateComponent&amp;#42; to display fps.&lt;br /&gt;&amp;#43;General&amp;#43;&lt;br /&gt;&amp;#42; &amp;#40;add&amp;#41;&lt;br /&gt;&lt;br /&gt;Questions, requests and suggestions are definitely welcome.  Add a work item or start a discussion&amp;#33;</description><author></author><pubDate>Thu, 28 Feb 2008 14:29:53 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: Oops! XNA 3D Physics Framework 0.8.5.0 Beta (Feb 24, 2008) 20080228022953P</guid></item><item><title>NEW POST: Using 4 collision planes as world boundary</title><link>http://www.codeplex.com/OopsFramework/Thread/View.aspx?ThreadId=22980</link><description>&lt;div class="wikidoc"&gt;
Hi FretBoardofFury,&lt;br /&gt; &lt;br /&gt;I have been trying to build 4 collision planes to prevent objects from moving out from the world. However, this code causes all rigid bodies' position to be NaN. What am I doing wrong here?&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
// Create the world boundaries plane
            // in order of left, front, right and back order
            for (int i=0; i &amp;lt; 4; i++)
            {
                this.worldBoundaries[i] = new CollisionPlane();
                this.worldBoundaries[i].CategoryFlags = 1;
                this.worldBoundaries[i].CollisionFlags = 1;
            }
 
            // Left plane
            this.worldBoundaries[0].Normal = Vector3.Right;
            this.worldBoundaries[0].Distance = (environment.GameTerrain.Width);
 
            // Right plane
            this.worldBoundaries[1].Normal = -Vector3.Right;
            this.worldBoundaries[1].Distance = -(environment.GameTerrain.Width);
 
            // Front plane
            this.worldBoundaries[2].Normal = Vector3.UnitZ;
            this.worldBoundaries[2].Distance = -(environment.GameTerrain.Height);
 
            // Back plane
            this.worldBoundaries[3].Normal = -Vector3.UnitZ;
            this.worldBoundaries[3].Distance = (environment.GameTerrain.Height);
.....
    for (int i = 0; i &amp;lt; 4; i++)
            {
                CollisionDetector.Detect(obj, this.worldBoundaries[i], context);
            }
 
 
 
            CollisionDetector.Detect(obj, this.collisionTerrain, context);
            CollisionDetector.Detect(obj, this.waterPlane, context);
&lt;/pre&gt;
&lt;/div&gt;</description><author>extrakun</author><pubDate>Wed, 27 Feb 2008 19:55:23 GMT</pubDate><guid isPermaLink="false">NEW POST: Using 4 collision planes as world boundary 20080227075523P</guid></item><item><title>NEW POST: Triangle Collision Detection</title><link>http://www.codeplex.com/OopsFramework/Thread/View.aspx?ThreadId=17689</link><description>&lt;div class="wikidoc"&gt;
Hi niru, thanks for the interest in my project!  &lt;br /&gt; &lt;br /&gt;I plan on implementing mesh collision but it won't be for a while.  I'll probably be concentrating on the DreamBuildPlay contest when it starts.  After that, I'll probably get back to the framework and incorporate all the ideas I have for the DBP.  &lt;br /&gt;
&lt;/div&gt;</description><author>FretboardOfFury</author><pubDate>Mon, 25 Feb 2008 05:20:02 GMT</pubDate><guid isPermaLink="false">NEW POST: Triangle Collision Detection 20080225052002A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/OopsFramework/Wiki/View.aspx?title=Home&amp;version=44</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;The Oops&amp;#33; Framework includes many game services and components that extend Microsoft&amp;#39;s XNA Framework.  The most noteworthy of these components is an easy to use 3D Physics game component&amp;#47;framework that runs on Windows...and XBOX 360&amp;#33;&amp;#33;&amp;#33;
&lt;br /&gt; &lt;br /&gt;&lt;a href="http://www.codeplex.com/OopsFramework/Wiki/View.aspx?title=Tutorials&amp;amp;referringTitle=Home"&gt;Tutorials&lt;/a&gt; (coming soon)&lt;br /&gt; &lt;br /&gt;&lt;h1&gt;
&lt;u&gt;&lt;b&gt;CONVERTED TO XNA 2.0!!!&lt;/b&gt;&lt;/u&gt;
&lt;/h1&gt; &lt;br /&gt;&lt;h1&gt;
&lt;b&gt;COMING SOON!!!&lt;/b&gt;
&lt;/h1&gt;&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Easier &amp;quot;True Collision&amp;quot; Support (i.e., expose properties to determine when to play sound effects and cause damage, not just &amp;quot;Resting&amp;quot; contacts.&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Finish Heightmap Collision Support.&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Finish Ray Collision Support.&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;More Joint/Constraint Types.&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Springs&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Tutorials.&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;u&gt;Main Menu&lt;/u&gt;&lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=OopsFramework&amp;amp;DownloadId=21518" alt="Main Menu" /&gt;&lt;br /&gt; &lt;br /&gt;&lt;u&gt;Example 1 in Action!!!&lt;/u&gt;&lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=OopsFramework&amp;amp;DownloadId=21519" alt="Example 1 in Action!!!" /&gt;&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
&lt;u&gt;&lt;b&gt;Comments, requests and suggestions are welcomed and appreciated.  Add a comment, work item or start a discussion!&lt;/b&gt;&lt;/u&gt;
&lt;/h2&gt; &lt;br /&gt;&lt;h1&gt;
The Oops! Framework includes:
&lt;/h1&gt; &lt;br /&gt;&lt;u&gt;&lt;b&gt;3D Physics Component!!&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;Windows and &lt;b&gt;XBOX 360 support!!!&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Support for plane, sphere, box, wedge, ray and heightmap (soon) collision shapes.&lt;/li&gt;&lt;li&gt;Auto-disable.&lt;/li&gt;&lt;li&gt;Static objects.&lt;/li&gt;&lt;li&gt;Composite objects.&lt;/li&gt;&lt;li&gt;Collision callback support.&lt;/li&gt;&lt;li&gt;Multi-threading support.&lt;/li&gt;&lt;li&gt;Easy to implement in existing projects!&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;&lt;u&gt;Game State Component/Service&lt;/u&gt; &lt;br /&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;Manages game screens.&lt;/li&gt;&lt;li&gt;game screen-specific game component support.&lt;/li&gt;&lt;li&gt;game screen-specific resources support.&lt;/li&gt;&lt;li&gt;See an example of it's usage in the testing application.&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;&lt;u&gt;UI Component/Service&lt;/u&gt;&lt;br /&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;The beginnings of UI functionality.&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;&lt;u&gt;Parallel Split Shadow Maps&lt;/u&gt;&lt;br /&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;The beginnings of a PSSM effect.&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;&lt;u&gt;Viewport Component/Service &lt;i&gt;(with a few camera types)&lt;/i&gt;&lt;/u&gt;&lt;br /&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;Static camera.&lt;/li&gt;&lt;li&gt;Free look camera.&lt;/li&gt;&lt;li&gt;Look at camera.&lt;/li&gt;&lt;li&gt;Show all camera.&lt;/li&gt;&lt;li&gt;Circle around camera.&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;&lt;u&gt;Input Component/Service&lt;/u&gt;&lt;br /&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;Nothing amazing here.&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;&lt;u&gt;Audio Component/Service&lt;/u&gt; &lt;br /&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;Used to play sweet demo music included in the testing application.&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;&lt;u&gt;Content Provider Service&lt;/u&gt;&lt;br /&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;Used for global (not game screen-specific) resources. &lt;/li&gt;&lt;li&gt;Share resources between game screens of the Game State Component/Service.&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;&lt;u&gt;3D Animation Component &lt;i&gt;(if your one of the three XNA developers that use Hash's Animation Master)&lt;/i&gt;&lt;/u&gt;&lt;br /&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;(uses custom model and animation xml file format for import.  Animation Master export plugin available on request.)&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;&lt;u&gt;Generic Quad-tree implementation&lt;/u&gt;&lt;br /&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;Implement quad-tree space partitioning for any data structure!&lt;/li&gt;&lt;li&gt;Used in examples of testing application to cutdown collision comparisons in Physics Component.&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;&lt;u&gt;Math, Vector3, Matrix and Quaternion Extensions&lt;/u&gt;&lt;br /&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;Operations not included in XNA.&lt;/li&gt;&lt;li&gt;Combined operations, such as transforming a vector by the transpose of a matrix.&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;b&gt;Also included are example applications using the framework:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;Control sphere(s) with the gamepad or keyboard and watch it interact with other collision shapes.&lt;/li&gt;&lt;li&gt;Fake box stacking.&lt;/li&gt;&lt;li&gt;Collision with heightmap (soon).&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;b&gt;ACKNOWLEDGEMENT&lt;/b&gt;&lt;br /&gt;I would like to acknowledge Ian Millington and his book &lt;b&gt;Game Physics Engine Development&lt;/b&gt;.  Many of the book's concepts were used in the creation of the physics component.  Go &lt;a href="http://www.amazon.com/dp/012369471X?tag=httwwwidmmeuk-20&amp;amp;camp=14573&amp;amp;creative=327641&amp;amp;linkCode=as1&amp;amp;creativeASIN=012369471X&amp;amp;adid=0JYGQ2H2P07FYJS8T7WR&amp;amp;" class="externalLink"&gt;check it out!&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>FretboardOfFury</author><pubDate>Mon, 25 Feb 2008 05:12:31 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080225051231A</guid></item></channel></rss>