summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjjesswan <jessica_wan@brown.edu>2024-05-06 04:30:32 -0400
committerjjesswan <jessica_wan@brown.edu>2024-05-06 04:30:32 -0400
commitd87077e403f5070ad5419a6c4ec7fd9ff0890788 (patch)
tree11f69507478f0664adfa6d563375ce784fa39a05
parent7a6ceadedc20f58b7be76654eb8357e3ca0b026d (diff)
saving with good res
-rw-r--r--resources/images/foam3.pngbin0 -> 2042062 bytes
-rw-r--r--resources/images/halftone.pngbin11714 -> 30448 bytes
-rw-r--r--resources/shaders/foam.frag12
-rw-r--r--resources/shaders/foam.vert2
-rwxr-xr-xsrc/glwidget.cpp2
-rw-r--r--src/ocean/ocean_alt.cpp20
-rw-r--r--src/ocean/ocean_alt.h12
7 files changed, 24 insertions, 24 deletions
diff --git a/resources/images/foam3.png b/resources/images/foam3.png
new file mode 100644
index 0000000..ab48f97
--- /dev/null
+++ b/resources/images/foam3.png
Binary files differ
diff --git a/resources/images/halftone.png b/resources/images/halftone.png
index c70e107..e059862 100644
--- a/resources/images/halftone.png
+++ b/resources/images/halftone.png
Binary files differ
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