summaryrefslogtreecommitdiff
path: root/src/arap.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/arap.cpp')
-rw-r--r--src/arap.cpp36
1 files changed, 23 insertions, 13 deletions
diff --git a/src/arap.cpp b/src/arap.cpp
index 08f2e15..6239f83 100644
--- a/src/arap.cpp
+++ b/src/arap.cpp
@@ -38,6 +38,8 @@ void ARAP::init
vertices = m_ocean.get_vertices();
triangles = m_ocean.get_faces();
m_shape.init(vertices, triangles);
+ m_foam_shape.init(vertices, triangles);
+
m_shape.setColor(0.27f, .803f, .96f);
// Students, please don't touch this code: get min and max for viewport stuff
@@ -51,16 +53,16 @@ void ARAP::init
// minCorner = coeffMin;
// maxCorner = coeffMax;
-
- std::cout << "minCorner: " << minCorner << std::endl;
- std::cout << "maxCorner: " << maxCorner << std::endl;
-
- minCorner = Vector3f(0.0f, 0.0f, 0.0f);
- maxCorner = Vector3f(1.0f, 0.0f, 1.0f);
-
+//
std::cout << "minCorner: " << minCorner << std::endl;
std::cout << "maxCorner: " << maxCorner << std::endl;
//
+// minCorner = Vector3f(0.0f, 0.0f, 0.0f);
+// maxCorner = Vector3f(1.0f, 0.0f, 1.0f);
+//
+// std::cout << "minCorner: " << minCorner << std::endl;
+// std::cout << "maxCorner: " << maxCorner << std::endl;
+//
// minCorner = Vector3f(-1.0f, -1.0f, -1.0f);
// maxCorner = Vector3f(1.0f, 1.0f, 1.0f);
@@ -116,15 +118,23 @@ void ARAP::update(double seconds)
// the last update
m_ocean.fft_prime(m_time);
m_ocean.update_ocean();
- // std::cout << "updating ocean" << std::endl;
- auto tmp = m_ocean.get_vertices();
- // print the vertex
-// std::cout << "faces\t" << m_ocean.get_faces().size() << std::endl;
-// std::cout << "noormals\t" << m_ocean.getNormals().size() << std::endl;
-// std::cout << "vertices\t" << tmp.size() << std::endl;
m_shape.setVertices_and_Normals(m_ocean.get_vertices(), m_ocean.getNormals());
// m_shape.setVertices(m_ocean.get_vertices());
+ auto tmp = m_ocean.get_vertices();
+ // print the min and max of the vertices
+ Vector3f min = Vector3f::Ones() * 1000000;
+ Vector3f max = Vector3f::Ones() * -1000000;
+ for (int i = 0; i < tmp.size(); i++) {
+ min = min.cwiseMin(tmp[i]);
+ max = max.cwiseMax(tmp[i]);
+ }
+ std::cout << "min: " << min << std::endl;
+std::cout << "max: " << max << std::endl;
+
+ FoamConstants foam = m_ocean.getFoamConstants();
+ m_foam_shape.setFoamInputs(m_shape.getVertices(), foam.wavelengths, foam.k_vectors, foam.texCoords);
+
m_time += m_timestep;
// std::cout << m_time << std::endl;