2

在 webGL 中渲染 NURBS 表面时,我需要一些帮助。几天前,我们的教授让我们用 NURBS 绘制一面旗帜并为其制作动画。我们必须使用 webGL(并且不能 tree.js...)。我不知道如何进行(尽管我或多或少地了解 NURBS 和镶嵌的理论)。有什么提示吗?

免责声明:我不是在寻求解决方案。这是违反规则的,我想自己得到它。我只需要指出正确的方向。

提前致谢

4

2 回答 2

3

仅仅因为你不能使用three.js 并不意味着你不能看它来弄清楚它是如何工作的!此示例呈现 NURBS,您可以查看源代码。(提示:它使用THREE.NURBSSurface、THREE.NURBSUtils 等...然后插入到ParametricBufferGeometry中)

至于 WebGL 部分,如果你熟悉 OpenGL,它有很多相同的东西,只是在功能上减少了一点。您需要使用上下文 WebGL 制作画布,在 CPU 上生成所有数据(表面定义、曲面细分等),然后将所有顶点和索引数据传递给 GPU,使用着色器将其全部渲染。

于 2016-12-15T18:51:16.910 回答
2

我建议你从以下两个讲座开始:

绘制贝塞尔曲线

画线很难

最后,使用这个 WebGL 示例作为分配的起点:

WebGL中贝塞尔曲线的分辨率无关渲染

祝你好运,编码愉快!如果你取得了好的成绩,请告诉我们!

于 2016-12-15T19:18:45.980 回答