summaryrefslogtreecommitdiff
path: root/src/glwidget.cpp
diff options
context:
space:
mode:
authorjjesswan <jessica_wan@brown.edu>2024-05-10 01:49:32 -0400
committerjjesswan <jessica_wan@brown.edu>2024-05-10 01:49:32 -0400
commitd2f792c6fee2a6e78dcf2fff77f43ef036c58877 (patch)
tree8085f9428fc26d20df1ad44b0d714f61436b1cd1 /src/glwidget.cpp
parent4150f19230962abaf68a8be209c7fa10bc7691e3 (diff)
saving parts
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 57b4468..8f3c0c1 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();