Robin Engman
a07e2911de
Merge branch 'Physics' of https://github.com/dean11/Danbias into Physics
2014-01-28 09:01:50 +01:00
Robin Engman
5bf92757a5
State struct fixed since last inactivation.
2014-01-28 09:01:35 +01:00
Dander7BD
ff936133fc
Physics engine now using struct MomentOfInertia
...
Some API impact for the other modules.
* Desc. structs
* State struct
2014-01-23 19:13:02 +01:00
Robin Engman
9c18ba14b9
Fixed kinetic calculation
2014-01-22 15:29:50 +01:00
Robin Engman
bcbe67b620
Made default value of onCollisionResponse null
2014-01-22 14:09:53 +01:00
Robin Engman
53961f0e88
Added new onCollisionResponse handle
2014-01-22 13:50:54 +01:00
Robin Engman
0cae6261e9
ApplyEffect is now easier to handle for the user
...
Only needs a function with a pointer to an ICustomBody now.
2014-01-22 12:36:12 +01:00
Robin Engman
5c85580ffd
Added gravity normal to state struct
2014-01-21 14:56:34 +01:00
Robin Engman
39e4f7881b
Added typedef for collision response
2014-01-21 14:24:45 +01:00
Robin Engman
090d44b518
Added visit function to API
...
Called with collideable and hit action
2014-01-21 14:10:31 +01:00
Robin Engman
94f1c20817
Added more data to rigid body description.
...
Friction and restitution coeffs
2014-01-21 11:48:04 +01:00
Dander7BD
43e5561995
Gravity fix 3
2014-01-21 10:34:22 +01:00
Dander7BD
76723cf2d8
Gravity fix 2
2014-01-21 09:58:33 +01:00
Dander7BD
98563b6c33
Gravity fix
2014-01-21 09:27:52 +01:00
Dander7BD
0107745c7e
Disable rotation
...
disabled at:
* RigidBody::Update_LeapFrog
* SimpleRigidBody::SetState
* SphericalRigidBody::SetState
2014-01-20 15:31:19 +01:00
Dander7BD
82d1a03450
ICustomBody :: Custom Tag added
2014-01-20 13:44:12 +01:00
Dander7BD
0b8ecd740a
Added ICustombody event subscription
...
ICustomBody::EventAction_Move
if an object have moved, an event can now be subscribed.
External Impact:
ICustomBody
SimpleBodyDescription
SphericalBodyDescription
2014-01-20 11:29:43 +01:00
Dander7BD
a8c87273e2
Gravity normal fix
...
Forgot to update that value. Done
2014-01-20 11:29:42 +01:00
Dander7BD
ff4a39cdac
Gravity implemented
2014-01-20 11:29:41 +01:00
Dander7BD
337c92a5b8
Added Equal operators to Gravity struct
...
== & !=
2014-01-20 11:29:40 +01:00
Dander7BD
0f3c92cd52
Obsolete code removed
...
More commentated out than deleted actually
2014-01-20 11:29:39 +01:00
Robin Engman
acb344ca44
Added missing mass and inertia
2014-01-20 11:29:39 +01:00
Dander7BD
34dc27655b
Tangiential formula fixes
2014-01-20 11:29:36 +01:00
Dander7BD
f2c6cc5306
Revert "Work asssignment split line"
...
This reverts commit 8ecd263318
.
2014-01-20 11:29:35 +01:00
Dander7BD
2314935f48
linear coll. resp. fix add
...
fix didn't cover all cases. Now it do
2014-01-20 11:29:35 +01:00
Dander7BD
ee5e5ff8ce
linear collision response fix
...
moved improved version of Robin's implementation
2014-01-20 11:29:34 +01:00
Dander7BD
727b2acb82
angular collision response fix
...
Incorrect formula found and corrected
2014-01-20 11:29:33 +01:00
Dander7BD
502513d4f8
Work asssignment split line
2014-01-20 11:29:33 +01:00
Dander7BD
8b85d1f539
Bug fixing
2014-01-09 11:48:21 +01:00
Dander7BD
938447879f
post merge + minor edits
...
derepetifified code in struct Gravity
and some cosmetic consistency edits.
2014-01-09 11:36:55 +01:00
Dander7BD
c39e2fe791
Merge remote-tracking branch 'origin/PhysicsStructs' into Verifying-Gravity-struct
...
Conflicts:
Bin/Content/Shaders/LightPass.cso
Code/GamePhysics/PhysicsStructs-Impl.h
2014-01-09 11:03:25 +01:00
Dander7BD
687ffa4f99
struct State::GetView() overload
...
Can now provide an offset vector as argument
2014-01-09 10:42:22 +01:00
Dennis Andersen
42de421904
Master - Modified igore
2014-01-08 13:07:55 +01:00
Dander7BD
fba52398c3
Merge remote-tracking branch 'origin/Physics' into Sprint2
2013-12-20 12:18:30 +01:00
Dander7BD
4d3032dc81
postmerge compile error fix
2013-12-20 12:13:12 +01:00
Dander7BD
ca90b3ae3b
OnPossibleCollision updated
2013-12-20 12:08:33 +01:00
Robin Engman
a440cffb0e
Added function to get delta time
...
Now in local physics API
2013-12-20 12:08:32 +01:00
Robin Engman
66e93fbdae
SimpleRigid functions mirrored in SphericalRigid
...
The functions added to SimpleRigidBody has been added to
SphericalRigidBody too.
2013-12-20 12:08:31 +01:00
Dander7BD
ec0f0e0d14
SimpleRigidBody::Predict(..) added
2013-12-20 12:08:30 +01:00
Dander7BD
d163b7d8cf
Partial SimpleRigidBody update end
2013-12-20 12:08:30 +01:00
Dander7BD
604a17056c
Partial SimpleRigid update
2013-12-20 12:08:28 +01:00
Dander7BD
c4bbc09a97
CustomBodyState::ApplyForwarding(..) added
2013-12-20 12:08:28 +01:00
Dander7BD
bbc489eac9
RigidBody improved and Gimbal lock proofed
2013-12-20 12:08:25 +01:00
Dander7BD
ff52977dcf
Bug fixes
...
including a hack
2013-12-20 12:08:24 +01:00
Dander7BD
461fecd1d2
Bug fixing
...
SimpleRigidBody::GetNormal returned wrong results.
Second bounce impulse in OnPossibleCollision, should be subtracted
instead of added.
2013-12-20 12:08:24 +01:00
Dander7BD
840f000ec9
Bug fix in API_Impl OnPossibleCollision(...)
2013-12-20 12:08:22 +01:00
Dander7BD
4ebb8cd9b8
Minor edit in CustomBodyState
2013-12-20 12:08:21 +01:00
Dander7BD
4e21e2b0c0
Renamed Formula::CollisionResponse::Impulse to..
...
.. Formula::CollisionResponse::Bounce
2013-12-20 12:08:20 +01:00
Dander7BD
24418603ad
ICustomBody::GetNormal returns Float4::null if..
...
.. no normal can be decided.
2013-12-20 12:08:20 +01:00
Dander7BD
76c83add3d
Added sanity check to SphericalRigidBody::GetNormalAt
2013-12-20 12:08:19 +01:00
Dander7BD
42418257cb
CustomBodies now aware of it's scene
...
+ other minor changes
2013-12-20 12:08:18 +01:00
Robin Engman
59d5a3dc1e
Created function for friction
2013-12-20 12:08:17 +01:00
Dander7BD
9cee69edd6
Extended friction content of the ICustomBody::State struct
2013-12-20 12:08:17 +01:00
Robin Engman
56dec6cf5d
Added "alpha" friction
...
Alpha means that the friction is not tested and most likely needs
tweaking.
2013-12-20 12:08:16 +01:00
Dander7BD
09e55ddc30
SimpleRigidBody::GetNormalAt Done
...
implemented by using RayVsPlane tests
2013-12-20 12:07:46 +01:00
Dander7BD
5051a9e767
Major StateStruct and API update
2013-12-20 12:07:45 +01:00
Dander7BD
dbb0c38432
Big patch
...
Loads of collision response related implementations/edits
2013-12-20 12:07:43 +01:00
Dander7BD
c854b1af58
Stuff
2013-12-20 11:59:35 +01:00
Tobias Grundel
855860d454
Gravity struct
...
Unions are the devil's work, but now there's GravityWell, Directed and
DirectedField structs implemented in PhysicsStructs
2013-12-19 14:30:16 +01:00
Erik Persson
e68001da0e
testing updated
...
message to client about object creation, message to client about player
movement
2013-12-19 11:46:11 +01:00
Robin Engman
c740bd5935
Added some data to PhysicsAPI
...
GetRigidLinearVelocity() and void* as reference to game object.
2013-12-12 10:02:35 +01:00
Dander7BD
5835a72acc
Setstruct introduction done
...
Can be found as:
Physics::Struct::CustomBodyState
Physics::ICustomBody::State
Is all inline thus no expensive API calls, as intended.
Will be expanded to move API call methods from Physics::ICustomBody to
it.
2013-12-06 09:46:30 +01:00
Dander7BD
202ee23b25
Octtree::leafData Container should be kept updated now
2013-12-04 11:49:33 +01:00
Dander7BD
1d94ed0ddc
Fixed MomentOfInertia methods
2013-12-04 11:30:56 +01:00
Robin Engman
f2548c43ce
Merge branch 'Physics' of https://github.com/dean11/Danbias into Physics
2013-12-04 09:52:03 +01:00
Robin Engman
b03e9af027
Fixed octree and API
...
Rewrote AddObject function in octree and OnPossibleCollision in
PhysocsAPI_Impl
2013-12-04 09:51:48 +01:00
Dander7BD
e4476f7757
Added function for ICustomBody
...
void ICustomBody::SetMomentum( const ::Oyster::Math::Float3 &worldG )
- Added and implemented
2013-12-03 15:11:24 +01:00
Dander7BD
026b427deb
Implemented a temporary collision test update
...
Will only call the subscribed CollisioEventAction whenevera collision is
detected.
2013-11-29 10:00:07 +01:00
Robin Engman
1a06c7c7e6
Changed from pointer to reference
...
Did it in sample and visit functions
2013-11-29 10:00:06 +01:00
Robin Engman
c31ea9730b
Added overloads for visitor and sample functions
...
They now have an overload for accepting ICollideable
2013-11-29 10:00:05 +01:00
Dander7BD
5d5f684ad6
minor compilation error fix
...
Forgot that UniquePointer had a special operator for checking if it is
not NULL >.<
2013-11-29 10:00:04 +01:00
Dander7BD
ec7185f463
Bunch of implementations
2013-11-29 10:00:03 +01:00
Robin Engman
4672984b51
Merge remote-tracking branch 'origin/Octree' into Physics
2013-11-28 14:19:11 +01:00
Robin Engman
632d412f9c
Fixed sample and added visit.
2013-11-28 14:18:44 +01:00
Robin Engman
35f66da760
Merge branch 'Physics' of https://github.com/dean11/Danbias into Physics
2013-11-28 13:43:38 +01:00
Dander7BD
f379ed49e5
inertiaTensor removed from API::SphericalBodyDescription
...
was redundant. struct already have everything that the factory needs to
generate one.
2013-11-28 12:18:06 +01:00
Dander7BD
2928e08252
SphericalRigidBody factory done
...
not tested though
2013-11-28 12:13:14 +01:00
Dander7BD
3a6cb98b08
SimpleRigidBody factory done
...
not tested though
2013-11-28 11:58:46 +01:00
Robin Engman
28dc57cf38
Added basic functionality for container
2013-11-28 11:18:07 +01:00
Robin Engman
ecbb606544
Added basic functionality for container.
2013-11-28 11:14:24 +01:00
Dander7BD
07e3aa1697
Improved Collision Event Subscription
...
From now on, will each ICustomBody instance have it's own
collisionAction function.
2013-11-28 10:26:29 +01:00
Dander7BD
3a444aaae8
Moved Octree.h into the Implementation Filter
2013-11-28 10:24:32 +01:00
Dander7BD
62b1c68479
Created SphericalRigidBody
...
A rotateable rigidbody that represents something spherical.
2013-11-26 13:28:47 +01:00
Dander7BD
29362c8c60
Added more API & ICustomBody methods
...
API::Init
ICustomBody::SetSubscription
Gravity related calls
moved DLLMain.cpp
2013-11-26 13:28:46 +01:00
Robin Engman
2890c2a9ea
Added beginning of Octree class.
2013-11-26 10:21:20 +01:00
Dander7BD
26e5fde8b0
Some PhysicsAPI implementations
...
Nothing related to the oct tree though. That will have be done next
2013-11-25 16:57:38 +01:00
Dander7BD
a869771ffa
Simple Rigid Body implementation
...
Second Iteration
[iteration 1]: stubs
[iteration 2]: implementations with shortcuts
[iteration final]: implementations with real solutions
2013-11-25 16:35:56 +01:00
Dander7BD
bc988eff0d
ICustomBody Documented
2013-11-25 13:46:05 +01:00
Dander7BD
bf3dcd088b
Moar dll fixes for Physics
2013-11-25 12:21:44 +01:00
Dander7BD
cc67d227ab
Dll fixes
...
API::Instance were not properly implemented
Added __stdcall
2013-11-25 12:03:41 +01:00
Dander7BD
46abe2c8c6
namespace Physics::Error removed
...
No need for it anymore.
2013-11-25 11:55:58 +01:00
Dander7BD
4072bf50fb
Fixed DLL support for physics Engine
...
.. hopefully
2013-11-25 11:47:42 +01:00
Dander7BD
d33d1f41bc
Some documentation
2013-11-25 11:35:38 +01:00
Robin Engman
c3e3f9e461
Changed API.
...
Replaced unsigned int references with ICustomBody pointers and replaced
documentation as needed.
2013-11-25 10:54:27 +01:00
Dander7BD
6ac4254b9d
Documentations
...
PhysicsAPI mostly documented.
Namespace MomentOFInertia and ICustomBody still not documented
2013-11-25 08:57:47 +01:00
Robin Engman
3ef5a46779
Added functions to API.
...
Now has access to inertia functions through physics API.
2013-11-22 11:52:45 +01:00
Dander7BD
8a9ea82d7d
Added a namespace to PhysicsAPI
...
+ namespace MomentOfInertia
2013-11-22 11:17:14 +01:00
Dander7BD
9749749748
IRigidBody done
...
Renamed to ICustomBody
* Added bunch of other stuff
2013-11-21 17:22:13 +01:00
Dander7BD
dc9f4597e2
Added OrientationMatrix build methods + other stuff
2013-11-21 15:19:32 +01:00
Dander7BD
b8d0a106b3
Physics branch disaster Patch
...
critical changes in Sprint1 branch caused major problems for the physics
patch. Files had to be backed up, Physics branch destroyed along with
it's log data. So that a new Physics branch could be made from the new
Sprint1. This patch is those copied files put back into the new physics
branch. .. logdata and 3hours lost (1h/person)
2013-11-20 11:09:27 +01:00