Feat: Better noise and position of effect.

This commit is contained in:
2025-09-25 20:53:29 +01:00
parent cb38b2445e
commit fcb28671c2
6 changed files with 13 additions and 31 deletions
+11 -29
View File
@@ -108,7 +108,7 @@ int main() {
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
glfwWindowHint(GLFW_SAMPLES, 16); // 16x MSAA
GLFWwindow* window = glfwCreateWindow(SCR_WIDTH, SCR_HEIGHT, "OpenGL Template", nullptr, nullptr);
GLFWwindow* window = glfwCreateWindow((int)SCR_WIDTH, (int)SCR_HEIGHT, "OpenGL Template", nullptr, nullptr);
if (!window) {
glfwTerminate();
return -1;
@@ -182,14 +182,14 @@ int main() {
glm::mat4 view = glm::translate(glm::mat4(1.0f), glm::vec3(0.0f, 0.0f, -1.0f));
glm::mat4 projection = glm::perspective(glm::radians(45.0f), SCR_WIDTH/SCR_HEIGHT, 0.1f, 100.0f);
GLuint modelLoc = glGetUniformLocation(shaderProgram, "model");
GLuint viewLoc = glGetUniformLocation(shaderProgram, "view");
GLuint projLoc = glGetUniformLocation(shaderProgram, "projection");
GLuint modelLoc = (unsigned int) glGetUniformLocation(shaderProgram, "model");
GLuint viewLoc = (unsigned int) glGetUniformLocation(shaderProgram, "view");
GLuint projLoc = (unsigned int) glGetUniformLocation(shaderProgram, "projection");
glUseProgram(shaderProgram);
glUniformMatrix4fv(modelLoc, 1, GL_FALSE, glm::value_ptr(model));
glUniformMatrix4fv(viewLoc, 1, GL_FALSE, glm::value_ptr(view));
glUniformMatrix4fv(projLoc, 1, GL_FALSE, glm::value_ptr(projection));
glUniformMatrix4fv((int) modelLoc, 1, GL_FALSE, glm::value_ptr(model));
glUniformMatrix4fv((int) viewLoc, 1, GL_FALSE, glm::value_ptr(view));
glUniformMatrix4fv((int) projLoc, 1, GL_FALSE, glm::value_ptr(projection));
GLint resLoc = glGetUniformLocation(shaderProgram, "u_resolution");
@@ -218,12 +218,12 @@ int main() {
if (oscillation < 5) invert = 0;
if (invert) oscillation -= 0.001;
else oscillation += 0.001;
if (invert) oscillation -= 0.01f;
else oscillation += 0.001f;
// Debug
std::cout << "Oscillation: " << oscillation << "\t";
std::cout << "Invert: " << invert << std::endl;
// std::cout << "Oscillation: " << oscillation << "\t";
// std::cout << "Invert: " << invert << std::endl;
direction = rand() % 50; // change direction every 300 frames
}
@@ -235,29 +235,11 @@ int main() {
glClearColor(0.01f, 0.01f, 0.01f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT);
glBindVertexArray(VAO);
glDrawElements(GL_TRIANGLES,6,GL_UNSIGNED_INT,0);
glUseProgram(shaderProgram);
// Move WASD
if (glfwGetKey(window, GLFW_KEY_W) == GLFW_PRESS)
view = glm::translate(view, glm::vec3(0.0f, 0.01f, 0.0f));
if (glfwGetKey(window, GLFW_KEY_S) == GLFW_PRESS)
view = glm::translate(view, glm::vec3(0.0f, -0.01f, 0.0f));
if (glfwGetKey(window, GLFW_KEY_A) == GLFW_PRESS)
view = glm::translate(view, glm::vec3(-0.01f, 0.0f, 0.0f));
if (glfwGetKey(window, GLFW_KEY_D) == GLFW_PRESS)
view = glm::translate(view, glm::vec3(0.01f, 0.0f, 0.0f));
// QE rotate
if (glfwGetKey(window, GLFW_KEY_Q) == GLFW_PRESS)
view = glm::rotate(view, glm::radians(1.0f), glm::vec3(0.0f, 0.0f, 1.0f));
if (glfwGetKey(window, GLFW_KEY_E) == GLFW_PRESS)
view = glm::rotate(view, glm::radians(-1.0f), glm::vec3(0.0f, 0.0f, 1.0f));
glUniformMatrix4fv(viewLoc, 1, GL_FALSE, glm::value_ptr(view));
glfwSwapBuffers(window);
}