Как заполнить форму, составленную из GL_LINE_LOOP

Я пытаюсь сделать симуляцию воды. Но я ограничен в использовании 2D, поэтому я начал с создания границы моря с помощью синусоиды через Gl_Line_loop. но я просто не могу его заполнить. Я попытался изменить его на режим Gl_polygon, но тогда я не получил правильную форму. вот код:

вот изображение волны, я хочу наполниться

0

Решение

Чтобы объединить вышесказанное, задайте вершину, а затем нижнюю вершину прямо вдоль линии, затем нарисуйте треугольную полосу. то есть для каждой (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();
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]