<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
	<link rel="self" type="application/atom+xml" href="https://pybullet.org/Bullet/phpBB3/app.php/feed/topic/567" />

	<title>Real-Time Physics Simulation Forum</title>
	
	<link href="https://pybullet.org/Bullet/phpBB3/index.php" />
	<updated>2006-09-30T15:10:13+00:00</updated>

	<author><name><![CDATA[Real-Time Physics Simulation Forum]]></name></author>
	<id>https://pybullet.org/Bullet/phpBB3/app.php/feed/topic/567</id>

		<entry>
		<author><name><![CDATA[Erwin Coumans]]></name></author>
		<updated>2006-09-30T15:10:13+00:00</updated>

		<published>2006-09-30T15:10:13+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=1985#p1985</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=1985#p1985"/>
		<title type="html"><![CDATA[Common World Matrix]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=1985#p1985"><![CDATA[
Please upgrade to Bullet 2.11, there is no PHY_MotionState anymore!<br>There is just a m_worldtransform in the btCollisionObject (and therefore in the derived btRigidBody class). <br><br>I don't want to add any dependency in memory layout between physics and graphics matrix. It's up to the user to synchronize them. A good optimization, which is not in Bullet at the moment is to only synchronize 'active' objects. That reduces the work to less then a handful of objects usually.<br><br>Sharing the reference is not so useful for performance: in the end, it is all about reducing cache misses and optimizing code loops. Right now, Bullet is not optimized yet, but I will pack the data per simulation islands and perform collision detection and constraint solving on packed data. This is very cache friendly. Then, synchronizing the transforms only when it is necessary (based on active islands) should make it very fast.<br><br>But I agree, we should add SIMD sooner or later. I got contribution of Win32 SIMD classes, we can merge that into LinearMath.<br><br>Thanks for sharing the ideas!<br>Erwin<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=2">Erwin Coumans</a> — Sat Sep 30, 2006 3:10 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Jack]]></name></author>
		<updated>2006-09-30T11:33:48+00:00</updated>

		<published>2006-09-30T11:33:48+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=1979#p1979</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=1979#p1979"/>
		<title type="html"><![CDATA[Common World Matrix]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=1979#p1979"><![CDATA[
I am full of ideas  <img class="smilies" src="https://pybullet.org/Bullet/phpBB3/images/smilies/icon_biggrin.gif" width="15" height="15" alt=":D" title="Very Happy"> <br><br>1)<br>PHY_IMotionState is used to copy World Matrix to/from Bullet. It is not good. Why not to mantain Common World Matrix for both renderer and Bullet? Instead of PHY_IMotionState Bullet could accept pointer to something like WORLD_MATRIX.<br><div class="codebox"><p>Code: </p><pre><code>struct WORLD_MATRIX : public Matrix4x4{void Lock();void Unlock();some other useful methods...};</code></pre></div>Renderer (in most cases) does not need you pass separate QUATERNION, POSITION. It only has to waste time to convert QUATERNION to matrix, put it all together...<br>Both Renderer and Bullet want to access World Info directly (without useless conversions and copy operations). Is not it?<br><br>2)<br>It is also good to pack normal and inverse matrices into one matrix4x4. If we put:<br><br>matrix4x4 m;<br>m._14 = -dot(m._line1, m._line4);<br>m._24 = -dot(m._line2, m._line4);<br>m._34 = -dot(m._line3, m._line4);<br><br>then<br><br>mul(m,v) gives us inverse transform of vector v. And we do not need to transpose something...<br>Keeping all in ONE matrix could increase performance (espesially using SIMD operations).<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=772">Jack</a> — Sat Sep 30, 2006 11:33 am</p><hr />
]]></content>
	</entry>
	</feed>
