[nobuild] physics component + wiBullet update
This commit is contained in:
+410
-563
File diff suppressed because it is too large
Load Diff
+1
-15
@@ -15,21 +15,7 @@ public:
|
||||
wiBULLET();
|
||||
~wiBULLET();
|
||||
|
||||
virtual void addWind(const XMFLOAT3& wind) override;
|
||||
|
||||
virtual void addBox(const XMFLOAT3& sca, const XMFLOAT4& rot, const XMFLOAT3& pos
|
||||
, float newMass, float newFriction, float newRestitution, float newDamping, bool kinematic) override;
|
||||
virtual void addSphere(float rad, const XMFLOAT3& pos
|
||||
, float newMass, float newFriction, float newRestitution, float newDamping, bool kinematic) override;
|
||||
virtual void addCapsule(float rad, float hei, const XMFLOAT4& rot, const XMFLOAT3& pos
|
||||
, float newMass, float newFriction, float newRestitution, float newDamping, bool kinematic) override;
|
||||
virtual void addConvexHull(const std::vector<XMFLOAT4>& vertices, const XMFLOAT3& sca, const XMFLOAT4& rot, const XMFLOAT3& pos
|
||||
, float newMass, float newFriction, float newRestitution, float newDamping, bool kinematic) override;
|
||||
virtual void addTriangleMesh(const std::vector<XMFLOAT4>& vertices, const std::vector<unsigned int>& indices, const XMFLOAT3& sca, const XMFLOAT4& rot, const XMFLOAT3& pos
|
||||
, float newMass, float newFriction, float newRestitution, float newDamping, bool kinematic) override;
|
||||
|
||||
|
||||
virtual void addSoftBodyTriangleMesh(wiSceneSystem::PhysicsComponent& physicscomponent) override;
|
||||
virtual void setWind(const XMFLOAT3& wind) override;
|
||||
|
||||
virtual void connectVerticesToSoftBody(wiSceneSystem::PhysicsComponent& physicscomponent) override;
|
||||
virtual void connectSoftBodyToVertices(wiSceneSystem::PhysicsComponent& physicscomponent) override;
|
||||
|
||||
@@ -34,21 +34,7 @@ public:
|
||||
virtual void ClearWorld()=0;
|
||||
virtual void CleanUp()=0;
|
||||
|
||||
virtual void addWind(const XMFLOAT3& wind)=0;
|
||||
|
||||
virtual void addBox(const XMFLOAT3& sca, const XMFLOAT4& rot, const XMFLOAT3& pos
|
||||
, float newMass=1, float newFriction=1, float newRestitution=1, float newDamping=1, bool kinematic=false)=0;
|
||||
virtual void addSphere(float rad, const XMFLOAT3& pos
|
||||
, float newMass=1, float newFriction=1, float newRestitution=1, float newDamping=1, bool kinematic=false)=0;
|
||||
virtual void addCapsule(float rad, float hei, const XMFLOAT4& rot, const XMFLOAT3& pos
|
||||
, float newMass=1, float newFriction=1, float newRestitution=1, float newDamping=1, bool kinematic=false)=0;
|
||||
virtual void addConvexHull(const std::vector<XMFLOAT4>& vertices, const XMFLOAT3& sca, const XMFLOAT4& rot, const XMFLOAT3& pos
|
||||
, float newMass=1, float newFriction=1, float newRestitution=1, float newDamping=1, bool kinematic=false)=0;
|
||||
virtual void addTriangleMesh(const std::vector<XMFLOAT4>& vertices, const std::vector<unsigned int>& indices, const XMFLOAT3& sca, const XMFLOAT4& rot, const XMFLOAT3& pos
|
||||
, float newMass=1, float newFriction=1, float newRestitution=1, float newDamping=1, bool kinematic=false)=0;
|
||||
|
||||
|
||||
virtual void addSoftBodyTriangleMesh(wiSceneSystem::PhysicsComponent& physicscomponent)=0;
|
||||
virtual void setWind(const XMFLOAT3& wind)=0;
|
||||
|
||||
virtual void connectVerticesToSoftBody(wiSceneSystem::PhysicsComponent& physicscomponent)=0;
|
||||
virtual void connectSoftBodyToVertices(wiSceneSystem::PhysicsComponent& physicscomponent)=0;
|
||||
|
||||
@@ -248,9 +248,6 @@ namespace wiSceneSystem
|
||||
std::vector<Vertex_POS> vertices_Transformed_POS; // for soft body simulation
|
||||
std::vector<Vertex_POS> vertices_Transformed_PRE; // for soft body simulation
|
||||
std::vector<uint32_t> indices;
|
||||
std::vector<XMFLOAT3> physicsverts;
|
||||
std::vector<uint32_t> physicsindices;
|
||||
std::vector<int> physicalmapGP;
|
||||
|
||||
struct MeshSubset
|
||||
{
|
||||
@@ -302,10 +299,6 @@ namespace wiSceneSystem
|
||||
};
|
||||
|
||||
std::vector<VertexGroup> vertexGroups;
|
||||
bool softBody;
|
||||
float mass, friction;
|
||||
int massVG, goalVG, softVG; //vertexGroupID
|
||||
std::vector<XMFLOAT3> goalPositions, goalNormals;
|
||||
|
||||
wiRenderTarget impostorTarget;
|
||||
float impostorDistance;
|
||||
@@ -343,6 +336,14 @@ namespace wiSceneSystem
|
||||
bool rigidBody, kinematic;
|
||||
std::string collisionShape, physicsType;
|
||||
float mass, friction, restitution, damping;
|
||||
|
||||
bool softBody;
|
||||
int massVG, goalVG, softVG; //vertexGroupID
|
||||
std::vector<XMFLOAT3> goalPositions, goalNormals;
|
||||
|
||||
std::vector<XMFLOAT3> physicsverts;
|
||||
std::vector<uint32_t> physicsindices;
|
||||
std::vector<int> physicalmapGP;
|
||||
};
|
||||
|
||||
struct Bone
|
||||
|
||||
Reference in New Issue
Block a user