2

水のシミュレーションをしようとしています。しかし、私は2Dの使用に制限されているので、Gl_Line_loopを介して、正弦波を使用して海の境界を作成することから始めました. しかし、私はそれを埋めることができません。Gl_polygon モードに変更しようとしましたが、適切な形状になりません。コードは次のとおりです。

これが波のイメージです、いっぱいになりたいです

4

1 に答える 1

3

上記をテッセレーションするには、線に沿って上部、下部の頂点を指定し、三角形のストリップを描画します。つまり、sin 波に沿った各 (x, y) 位置に対して、同じ x で y = 0 (下) の 2 つの頂点を放出します。次に、三角形のストリップをレンダリングします。

このようなもの:

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 に答える