|
|
@@ -37,7 +37,7 @@ struct PhysicsTest: public Container
|
|
|
{
|
|
|
renderer.create(requestedInfo.requestedFBO.fbo);
|
|
|
|
|
|
- for (int i = 0; i < 20; i++)
|
|
|
+ for (int i = 0; i < 0; i++)
|
|
|
{
|
|
|
//if (i == 1) { mass = 0; }
|
|
|
|
|
|
@@ -51,7 +51,7 @@ struct PhysicsTest: public Container
|
|
|
physicsEngine.bodies.back().motionState.rotation = ((rand() % 800) / 800.f) * 3.14159f;
|
|
|
}
|
|
|
|
|
|
- for (int j = 0; j < 2; j++)
|
|
|
+ for (int j = 0; j < 1; j++)
|
|
|
{
|
|
|
float r = rand() % 35 + 10;
|
|
|
|
|
|
@@ -67,14 +67,17 @@ struct PhysicsTest: public Container
|
|
|
//physicsEngine.addBody({700, 700}, ph2d::createBoxCollider({300, 300}));
|
|
|
|
|
|
|
|
|
- //physicsEngine.addBody({600, 600}, ph2d::createBoxCollider({350, 100}));
|
|
|
+ //physicsEngine.addBody({600, 600}, ph2d::createBoxCollider({350, 350}));
|
|
|
//physicsEngine.bodies[1].motionState.rotation = glm::radians(30.f);
|
|
|
|
|
|
//physicsEngine.addBody({500, 500}, ph2d::createCircleCollider({75}));
|
|
|
//physicsEngine.addBody({800, 100}, ph2d::createCircleCollider({55}));
|
|
|
- //physicsEngine.addBody({900, 500}, ph2d::createCircleCollider({25}));
|
|
|
+ physicsEngine.addBody({900, 500}, ph2d::createCircleCollider({40}));
|
|
|
//physicsEngine.addBody({550, 700}, ph2d::createCircleCollider({25}));
|
|
|
|
|
|
+ //physicsEngine.addBody({600, 600}, ph2d::createBoxCollider({50, 50}));
|
|
|
+
|
|
|
+
|
|
|
//std::cout << ph2d::vectorToRotation({0,1}) << "\n";
|
|
|
//std::cout << ph2d::vectorToRotation({-1,1}) << "\n";
|
|
|
//std::cout << ph2d::vectorToRotation({-1,0}) << "\n";
|
|
|
@@ -88,7 +91,7 @@ struct PhysicsTest: public Container
|
|
|
//std::cout << ph2d::rotationToVector(ph2d::vectorToRotation({0,-1})).x << " " << ph2d::rotationToVector(ph2d::vectorToRotation({0,-1})).y << "\n";
|
|
|
//std::cout << ph2d::rotationToVector(ph2d::vectorToRotation({1,0}) ).x << " " << ph2d::rotationToVector(ph2d::vectorToRotation({1,0}) ).y << "\n";
|
|
|
|
|
|
- physicsEngine.addHalfSpaceStaticObject({0, floorPos}, {0.1, 1});
|
|
|
+ physicsEngine.addHalfSpaceStaticObject({0, floorPos}, {0.2, 1});
|
|
|
//physicsEngine.addBody({500, floorPos}, ph2d::createBoxCollider({900, 50}));
|
|
|
//physicsEngine.bodies.back().motionState.mass = 0;
|
|
|
//physicsEngine.bodies.back().motionState.momentOfInertia = 0;
|
|
|
@@ -147,7 +150,9 @@ struct PhysicsTest: public Container
|
|
|
|
|
|
ImGui::DragInt("Speed", &simulationSpeed);
|
|
|
|
|
|
- ImGui::SliderAngle("ANgle", &physicsEngine.bodies[0].motionState.rotation);
|
|
|
+ ImGui::SliderAngle("Angle", &physicsEngine.bodies[0].motionState.rotation);
|
|
|
+ ImGui::SliderAngle("angular velocity", &physicsEngine.bodies[0].motionState.angularVelocity);
|
|
|
+ //physicsEngine.bodies[0].motionState.angularVelocity = 1.5;
|
|
|
|
|
|
ImGui::Checkbox("Simulate", &simulate);
|
|
|
|
|
|
@@ -195,8 +200,8 @@ struct PhysicsTest: public Container
|
|
|
force *= 2.f;
|
|
|
|
|
|
physicsEngine.bodies[selected].motionState.applyImpulseWorldPosition(force,
|
|
|
- physicsEngine.bodies[selected].motionState.pos
|
|
|
- //pressedPosition
|
|
|
+ //physicsEngine.bodies[selected].motionState.pos
|
|
|
+ pressedPosition
|
|
|
);
|
|
|
|
|
|
//physicsEngine.bodies[selected].motionState.angularVelocity = 10;
|