如何填充形状,由 GL_LINE_LOOP 组成
Posted
技术标签:
【中文标题】如何填充形状,由 GL_LINE_LOOP 组成【英文标题】:How to fill the shape, made up of GL_LINE_LOOP 【发布时间】:2015-12-23 11:29:45 【问题描述】:我正在尝试制作水模拟。但我仅限于使用 2D,所以我开始使用正弦波通过 Gl_Line_loop 来制作海洋的边界。但我无法填补它。我尝试将其更改为 Gl_polygon 模式,但我没有得到正确的形状。这是代码:
here is the image of wave, i want to get filled
【问题讨论】:
【参考方案1】:要对上述内容进行细分,请沿直线指定一个顶部顶点,然后是一个底部顶点,然后绘制一个三角形条带。即对于沿正弦波的每个 (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();
【讨论】:
你能不能给我建议一下如何让它看起来像水在流动?? x 位置的波长角固定为 -50 到 50 为 sin(k * x)。你需要 k * x 随时间变化,所以也许 sin(k * (x + t)),其中 t 从 0 开始,每帧递增少量。 你先生是个天才:'它正在动人……再次感谢:')以上是关于如何填充形状,由 GL_LINE_LOOP 组成的主要内容,如果未能解决你的问题,请参考以下文章
由围绕矩形形状顺时针方向移动的数字组成的图案(长度和宽度每次减小)[关闭]