2

我正在尝试进行水模拟。但我仅限于使用 2D,所以我开始通过 Gl_Line_loop 使用正弦波来制作海洋的边界。但我无法填补它。我尝试将其更改为 Gl_polygon 模式,但我没有得到正确的形状。这是代码:

这是波浪的图像,我想被填满

4

1 回答 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 回答