diff options
author | jjesswan <jessica_wan@brown.edu> | 2024-05-06 04:30:32 -0400 |
---|---|---|
committer | jjesswan <jessica_wan@brown.edu> | 2024-05-06 04:30:32 -0400 |
commit | d87077e403f5070ad5419a6c4ec7fd9ff0890788 (patch) | |
tree | 11f69507478f0664adfa6d563375ce784fa39a05 | |
parent | 7a6ceadedc20f58b7be76654eb8357e3ca0b026d (diff) |
saving with good res
-rw-r--r-- | resources/images/foam3.png | bin | 0 -> 2042062 bytes | |||
-rw-r--r-- | resources/images/halftone.png | bin | 11714 -> 30448 bytes | |||
-rw-r--r-- | resources/shaders/foam.frag | 12 | ||||
-rw-r--r-- | resources/shaders/foam.vert | 2 | ||||
-rwxr-xr-x | src/glwidget.cpp | 2 | ||||
-rw-r--r-- | src/ocean/ocean_alt.cpp | 20 | ||||
-rw-r--r-- | src/ocean/ocean_alt.h | 12 |
7 files changed, 24 insertions, 24 deletions
diff --git a/resources/images/foam3.png b/resources/images/foam3.png Binary files differnew file mode 100644 index 0000000..ab48f97 --- /dev/null +++ b/resources/images/foam3.png diff --git a/resources/images/halftone.png b/resources/images/halftone.png Binary files differindex c70e107..e059862 100644 --- a/resources/images/halftone.png +++ b/resources/images/halftone.png diff --git a/resources/shaders/foam.frag b/resources/shaders/foam.frag index 91ce3b9..9e86011 100644 --- a/resources/shaders/foam.frag +++ b/resources/shaders/foam.frag @@ -22,7 +22,7 @@ float getSaturation(vec2 k, vec2 xzPos, float adjWaveLength, float phaseC){ float result = dot(k, xzPos) * 3.14f / adjWaveLength; result = result + phaseC*time*.5f; result = -tan(result + 1.57f); - result = exp(result) / 4.f; + result = exp(result) / 100.f; return result; @@ -38,16 +38,16 @@ void main() { // final rgba color at x,z pos vec4 h = vec4(0,0,1,1); - if (saturation > m_threshold) h = vec4(vec3(m_threshold), 1); + if (saturation > m_threshold) h = vec4(1,1,1, 1); // add fading effect to bubble popping vec4 g = clamp(.5*saturation - m_threshold, 0, 1) * h; // apply foam texture - vec4 foam = texture(foam_texture, tex); - vec4 j = vec4(0,0,0,1); - if (saturation > m_threshold) j = vec4(vec3(g*foam), 1); + vec4 foam = texture(foam_texture, tex*.3); + vec4 j = vec4(vec3(g*foam), 1); + //if (saturation > m_threshold) j = vec4(vec3(g*foam), 1); - fragColor = vec4(vec3(saturation), 1); + fragColor = vec4(j); } diff --git a/resources/shaders/foam.vert b/resources/shaders/foam.vert index 261eeea..76f2af7 100644 --- a/resources/shaders/foam.vert +++ b/resources/shaders/foam.vert @@ -38,7 +38,7 @@ vec2 calculateTexCoord(vec3 pos){ float offset = .5f; - return 6*vec2(u_coord + offset, v_coord + offset); + return 2*vec2(u_coord + offset, v_coord + offset); } diff --git a/src/glwidget.cpp b/src/glwidget.cpp index 2805d3c..5a2d87d 100755 --- a/src/glwidget.cpp +++ b/src/glwidget.cpp @@ -86,7 +86,7 @@ void GLWidget::initializeGL() m_foamShader = new Shader(":resources/shaders/foam.vert", ":resources/shaders/foam.frag"); m_halftone_tex = loadTextureFromFile("/Users/jesswan/Desktop/cs2240/ocean-simulation/resources/images/halftone.png").textureID; - m_foam_tex = loadTextureFromFile("/Users/jesswan/Desktop/cs2240/ocean-simulation/resources/images/foam.png").textureID; + m_foam_tex = loadTextureFromFile("/Users/jesswan/Desktop/cs2240/ocean-simulation/resources/images/foam3.png").textureID; diff --git a/src/ocean/ocean_alt.cpp b/src/ocean/ocean_alt.cpp index 8f46f1b..e2d3000 100644 --- a/src/ocean/ocean_alt.cpp +++ b/src/ocean/ocean_alt.cpp @@ -23,17 +23,17 @@ void ocean_alt::init_wave_index_constants(){ Eigen::Vector2d k_conj = get_k_vector(-n_prime, m_prime); - Eigen::Vector3f v = Eigen::Vector3f(0,0,1); - Eigen::Vector3f norm = Eigen::Vector3f(0,1,0); - if (abs(norm[1]) < 1.f){ - v = (Eigen::Vector3f(0,1,0) - norm[1]*norm).normalized(); - } - Eigen::Vector3f u = norm.cross(v).normalized(); +// Eigen::Vector3f v = Eigen::Vector3f(0,0,1); +// Eigen::Vector3f norm = Eigen::Vector3f(0,1,0); +// if (abs(norm[1]) < 1.f){ +// v = (Eigen::Vector3f(0,1,0) - norm[1]*norm).normalized(); +// } +// Eigen::Vector3f u = norm.cross(v).normalized(); - float u_coord = u.dot(Eigen::Vector3f(n_prime, 0, m_prime)) / 64.f; - float v_coord = v.dot(Eigen::Vector3f(n_prime, 0, m_prime)) / 64.f; +// float u_coord = u.dot(Eigen::Vector3f(n_prime, 0, m_prime)) / 64.f; +// float v_coord = v.dot(Eigen::Vector3f(n_prime, 0, m_prime)) / 64.f; - std::cout << u_coord << ", " << v_coord << std::endl; +// //std::cout << u_coord << ", " << v_coord << std::endl; // texture coord: @@ -69,7 +69,7 @@ void ocean_alt::init_wave_index_constants(){ m_foam_constants.k_vectors.push_back(Eigen::Vector2f(k[0], k[1])); m_foam_constants.positions.push_back(Eigen::Vector3f(0,0,0)); m_foam_constants.wavelengths.push_back(0); - m_foam_constants.texCoords.push_back(texCoord); + // m_foam_constants.texCoords.push_back(texCoord); } diff --git a/src/ocean/ocean_alt.h b/src/ocean/ocean_alt.h index 41c99ba..31f53ca 100644 --- a/src/ocean/ocean_alt.h +++ b/src/ocean/ocean_alt.h @@ -75,14 +75,14 @@ private: - const double Lx = 512.0; - const double Lz = 512.0; + const double Lx = 1024.0; + const double Lz = 1024.0; - const int num_rows = 64; - const int num_cols = 64; + const int num_rows = 256; + const int num_cols = 256; const int N = num_rows*num_cols; // total number of grid points - const double lambda = 0.4; // how much displacement matters - const double spacing = 35.0; // spacing between grid points + const double lambda = 0.8; // how much displacement matters + const double spacing = 75.0; // spacing between grid points const double A = 100; // numeric constant for the Phillips spectrum const double V = 50; // wind speed |