OpenGL catmull rom样条循环着色

问题描述 投票:0回答:1

我在C ++中有一个catmull rom样条循环。我能够绘制样条曲线,并且具有曲线点,但是当我尝试使用GL_TRIANGLE_FAN填充边框区域时,我得到了太多的直线。我的问题是,如何有效地用颜色填充样条环区域?

这是我绘制样条线的方法:

glBindVertexArray(vao);
unsigned int vbo;
glGenBuffers(1, &vbo);
glBindBuffer(GL_ARRAY_BUFFER, vbo);
glBufferData(GL_ARRAY_BUFFER, sizeof(lines) * sizeof(float), lines, GL_STATIC_DRAW);
glEnableVertexAttribArray(0);
glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, 0);
glDrawArrays(GL_LINE_STRIP, 0, vecLinePoints.size());
c++ opengl colors shader spline
1个回答
0
投票

这不容易做到,因为它不是凸多边形。

此链接说明了如何执行此操作,并提供了一些示例代码:http://www.songho.ca/opengl/gl_tessellation.html

您要寻找的是“自相交多边形”部分。

© www.soinside.com 2019 - 2024. All rights reserved.