diff --git a/src/geometries/PBDSimulation.cpp b/src/geometries/PBDSimulation.cpp index 46fb174bd52245cf5f4e44f16921d4c32ec366d7..f6e2ee54bd95ecf00d6a8105fdd4f758f7a972a7 100644 --- a/src/geometries/PBDSimulation.cpp +++ b/src/geometries/PBDSimulation.cpp @@ -15,9 +15,9 @@ PBDSimulation::PBDSimulation(HeadObject *_head, size_t _nr_sims, size_t _nr_segm // placing hair on the head propagateHead(); - collisionTriangles.emplace_back(0.15, -1, 1); - collisionTriangles.emplace_back(0.15, 1, 0); - collisionTriangles.emplace_back(0.15, -1, -1); + /* collisionTriangles.emplace_back(0.15, -1, 1); */ + /* collisionTriangles.emplace_back(0.15, 1, 0); */ + /* collisionTriangles.emplace_back(0.15, -1, -1); */ } void PBDSimulation::propagateHead() { @@ -69,8 +69,8 @@ void PBDSimulation::update(float dt) { if (i < strand.size() - 1) solve_bending_constraint(strand[i - 1], strand[i + 1], lSeg * 0.9f); if (i < strand.size() - 2 && i > 1) solve_bending_constraint(strand[i - 2], strand[i + 2], lSeg * 1.9f); - solve_collision_constraint(strand[i], - collisionTriangles[0], collisionTriangles[1], collisionTriangles[2]); + /* solve_collision_constraint(strand[i], */ + /* collisionTriangles[0], collisionTriangles[1], collisionTriangles[2]); */ } } } @@ -106,8 +106,8 @@ void PBDSimulation::solve_bending_constraint(Particle *p1, Particle *p2, float d (length(p1->tmp_pos - p2->tmp_pos) - dist) * (p1->tmp_pos - p2->tmp_pos) / length(p1->tmp_pos - p2->tmp_pos); - p1->tmp_pos += 0.6 * d_p1; - p2->tmp_pos += 0.6 * d_p2; + p1->tmp_pos += 0.4 * d_p1; + p2->tmp_pos += 0.4 * d_p2; } void PBDSimulation::solve_collision_constraint(Particle *p, vec3 &q1, vec3 &q2, vec3 &q3) { diff --git a/src/rendering/Scene.cpp b/src/rendering/Scene.cpp index 19cdd7af7542296bd8e9d0ae7419e7269967bacb..c2027008ae44814ab4aebedec458a1915ef6f562 100644 --- a/src/rendering/Scene.cpp +++ b/src/rendering/Scene.cpp @@ -13,7 +13,7 @@ Scene::Scene(int w, int h) : camera(vec3(0, -.15f, .5), // Camera position (wEye void Scene::Build() { - size_t nrSims = 200; + size_t nrSims = 1; size_t nrSegments = 30; float lSeg = 0.025f; @@ -36,7 +36,7 @@ void Scene::Build() { auto headObject = new HeadObject(phongShader, new ObjGeometry("../data/susanne.obj"), headMaterial, headTexture); headObject->Scale(vec3(.35, .35, .35)); - objects.push_back(headObject); + /* objects.push_back(headObject); */ auto PBDSim = new PBDSimulation(headObject, nrSims, nrSegments, lSeg); auto simulationObject = new HairSimObject(headObject, basicShader, PBDSim);