summaryrefslogtreecommitdiff
path: root/src/glwidget.cpp
diff options
context:
space:
mode:
authorSebastian Park <SebPark03@gmail.com>2024-05-10 04:09:10 -0400
committerSebastian Park <SebPark03@gmail.com>2024-05-10 04:09:10 -0400
commit487b0874e1fbb891e5ecf5721bd05814b0c0572d (patch)
tree99f394d3776f3094294097e262d711cd1a5acc89 /src/glwidget.cpp
parentee06bfd66ebc0d0d9d88bb9cb69b7cb350e3cfe2 (diff)
parentb4ca8b708587c540233284beae8d42ff43092580 (diff)
Merge branch 'main' of https://github.com/Seb-Park/ocean-simulation
Diffstat (limited to 'src/glwidget.cpp')
-rwxr-xr-xsrc/glwidget.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/glwidget.cpp b/src/glwidget.cpp
index 6466e24..f8547a6 100755
--- a/src/glwidget.cpp
+++ b/src/glwidget.cpp
@@ -97,6 +97,8 @@ void GLWidget::initializeGL()
m_colorShader = new Shader(":resources/shaders/color.vert", ":resources/shaders/color.frag");
m_foamShader = new Shader(":resources/shaders/foam.vert", ":resources/shaders/foam.frag");
m_skyboxShader = new Shader(":resources/shaders/skybox.vert", ":resources/shaders/skybox.frag");
+ m_particleShader = new Shader(":resources/shaders/particles.vert", ":resources/shaders/particles.frag");
+
m_halftone_tex = loadTextureFromFile(":resources/images/halftone.png").textureID;
@@ -198,6 +200,10 @@ void GLWidget::initializeGL()
m_deltaTimeProvider.start();
m_intervalTimer.start(1000 / 60);
+ // OCEAN SPRAY
+ m_arap.update(0); // important to get initial heights
+ m_particles.init(m_arap.m_ocean.m_heights);
+
}
void GLWidget::paintCaustics() {
@@ -458,6 +464,8 @@ void GLWidget::paintGL()
m_skybox.draw(m_skyboxShader, m_camera);
+ m_particles.draw(m_particleShader, m_camera);
+
@@ -684,7 +692,10 @@ void GLWidget::tick()
float deltaSeconds = m_deltaTimeProvider.restart() / 1000.f;
m_arap.update(deltaSeconds);
// rotate skybox
+ m_particles.setVerts(m_arap.m_ocean.m_heights);
m_skybox.update(deltaSeconds);
+ m_particles.update(deltaSeconds);
+
// Move camera
auto look = m_camera.getLook();