summaryrefslogtreecommitdiff
path: root/src/glwidget.cpp
diff options
context:
space:
mode:
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();