利用键盘左右键使图像左右移动,
glm::mat4 trans;
trans = glm::translate(trans, glm::vec3(translation, 0.0f, 0.0f));
glUniformMatrix4fv(glGetUniformLocation(ourShader.ID, "transform"), 1, GL_FALSE, glm::value_ptr(trans));
1 void processInput(GLFWwindow* window)
2 {
3 if (glfwGetKey(window, GLFW_KEY_ESCAPE) == GLFW_PRESS)
4 glfwSetWindowShouldClose(window, true);
5 if (glfwGetKey(window, GLFW_KEY_LEFT) == GLFW_PRESS)
6 {
7 translation -= 0.001f;
8 if (translation <= -0.5f)
9 translation = -0.5f;
10 }
11
12 if (glfwGetKey(window, GLFW_KEY_RIGHT) == GLFW_PRESS)
13 {
14 translation += 0.001f;
15 if (translation >= 0.5f)
16 translation = 0.5f;
17 }
18 }
上下键使图像的两个纹理可见度比例上下调整
1 ourShader.setFloat("mixValue", mixValue);
2 void processInput(GLFWwindow* window)
3 {
4 if (glfwGetKey(window, GLFW_KEY_ESCAPE) == GLFW_PRESS)
5 glfwSetWindowShouldClose(window, true);
6
7 //用键盘上下键控制两个纹理的可见度比例
8 if (glfwGetKey(window, GLFW_KEY_UP) == GLFW_PRESS)
9 {
10 mixValue += 0.001f;
11 if (mixValue >= 1.0f)
12 mixValue = 1.0f;
13 }
14 if (glfwGetKey(window, GLFW_KEY_DOWN) == GLFW_PRESS)
15 {
16 mixValue -= 0.001f;
17 if (mixValue <= 0.0f)
18 mixValue = 0.0f;
19 }
20 }