如何填充由GL_LINE_LOOP组成的形状

How to fill the shape, made up of GL_LINE_LOOP

本文关键字:LOOP LINE GL 何填充 填充      更新时间:2023-10-16

我正在尝试进行水模拟。但我被限制使用2D,所以我从使用正弦波开始,通过Gl_Line_loop来绘制海洋的边界。但我就是填不进去。我试过把它改成Gl_polygon模式,但后来我没有得到合适的形状。这是代码:

这是波浪的图像,我想填充

若要镶嵌上述内容,请沿直线指定一个顶部顶点,然后指定一个底部顶点,然后绘制一个三角形条带。即,对于沿着正弦波的每个(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();