我正在尝试进行水模拟。但我仅限于使用 2D,所以我开始通过 Gl_Line_loop 使用正弦波来制作海洋的边界。但我无法填补它。我尝试将其更改为 Gl_polygon 模式,但我没有得到正确的形状。这是代码:
问问题
2798 次
1 回答
3
要对上述内容进行细分,请沿线指定一个顶部顶点,然后是一个底部顶点,然后绘制一个三角形条带。即对于沿正弦波的每个 (x, y) 位置,发射两个顶点,相同的 x 但 y = 0(底部)。然后渲染一个三角形条。
像这样的东西:
glBegin(GL_TRIANGLE_STRIP);
for(x=-50;x<=50;x+=inc){
k = 2 * 3.14 / wavelength;
y = amplitude * sin(k * x);
glVertex3f(x, y-35, 0);
glVertex3f(x, y, 0);
}
glEnd();
于 2015-12-23T11:35:36.277 回答