Skip to content
This repository was archived by the owner on Sep 3, 2023. It is now read-only.

Commit c2d675d

Browse files
committed
Added pause toggle (press "p")
1 parent cdbd7be commit c2d675d

File tree

3 files changed

+5
-2
lines changed

3 files changed

+5
-2
lines changed

computeShader/computeShaderParticleSystem/glRenderer.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -344,14 +344,13 @@ void glRenderer::renderScene()
344344
float destPosY = (float)((windowHeight - cursorY) / windowHeight - 0.5f) * 2.0f;
345345

346346
glUseProgram(computeshader);
347-
glUniform1f(glGetUniformLocation(computeshader, "deltaT"), frameDelta * speedMultiplier);
347+
glUniform1f(glGetUniformLocation(computeshader, "deltaT"), frameDelta * speedMultiplier * (pause ? 0.0f : 1.0f));
348348
glUniform3f(glGetUniformLocation(computeshader, "destPos"), destPosX, destPosY, 0);
349349
glUniform2f(glGetUniformLocation(computeshader, "vpDim"), 1, 1);
350350
glUniform1i(glGetUniformLocation(computeshader, "borderClamp"), (int)borderEnabled);
351351

352352
int workingGroups = particleCount / 16;
353353

354-
355354
glDispatchCompute(workingGroups, 1, 1);
356355

357356
glUseProgram(0);
@@ -395,6 +394,8 @@ void glRenderer::keyCallback(int key, int scancode, int action, int mods)
395394
borderEnabled = !borderEnabled;
396395
if (key == GLFW_KEY_C && action == GLFW_PRESS)
397396
colorFade = !colorFade;
397+
if (key == GLFW_KEY_P && action == GLFW_PRESS)
398+
pause = !pause;
398399
if (key == GLFW_KEY_PAGE_UP && action == GLFW_PRESS)
399400
{
400401
particleCount += 1024;

computeShader/computeShaderParticleSystem/glRenderer.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ class glRenderer
1515
float speedMultiplier = 0.15f;
1616
bool borderEnabled = true;
1717
bool colorFade = false;
18+
bool pause = false;
1819
float color[3];
1920
float colVec[3];
2021
float colorChangeTimer;

computeShader/computeShaderParticleSystem/main.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ int main(void)
102102

103103
printf("\nKeys:\n");
104104
printf("""r"" : reset particles at current cursor pos\n");
105+
printf("""p"" : Toggle pause\n");
105106
printf("""b"" : toggle viewport border for particle movement\n");
106107
printf("""c"" : toggle random color fade\n");
107108
printf("""+"" : increase speed\n");

0 commit comments

Comments
 (0)