接上篇在cpp文件中加入
float timeValue = glfwGetTime();
float offset = sin(timeValue) / 2.0f ;
ourShader.setFloat("xOffset", offset);
再修改vertex着色器文件
#version 330 core
layout (location = 0) in vec3 aPos;
layout (location = 1) in vec3 aColor;
out vec3 ourColor;
uniform float xOffset;
void main()
{
gl_Position = vec4(aPos.x + xOffset, aPos.y, aPos.z, 1.0); // add the xOffset to the x position of the vertex position
ourColor = aColor;
}
本文详细介绍了如何在C++项目中利用GLFW库获取当前时间,并将其应用于vertex着色器,通过sin函数计算动态偏移量,从而实现顶点位置的动态变化效果。该方法为游戏和图形应用提供了丰富的视觉动态效果。
678

被折叠的 条评论
为什么被折叠?



