在 webGL 中渲染 NURBS 表面时,我需要一些帮助。几天前,我们的教授让我们用 NURBS 绘制一面旗帜并为其制作动画。我们必须使用 webGL(并且不能 tree.js...)。我不知道如何进行(尽管我或多或少地了解 NURBS 和镶嵌的理论)。有什么提示吗?
免责声明:我不是在寻求解决方案。这是违反规则的,我想自己得到它。我只需要指出正确的方向。
提前致谢
在 webGL 中渲染 NURBS 表面时,我需要一些帮助。几天前,我们的教授让我们用 NURBS 绘制一面旗帜并为其制作动画。我们必须使用 webGL(并且不能 tree.js...)。我不知道如何进行(尽管我或多或少地了解 NURBS 和镶嵌的理论)。有什么提示吗?
免责声明:我不是在寻求解决方案。这是违反规则的,我想自己得到它。我只需要指出正确的方向。
提前致谢
仅仅因为你不能使用three.js 并不意味着你不能看它来弄清楚它是如何工作的!此示例呈现 NURBS,您可以查看源代码。(提示:它使用THREE.NURBSSurface、THREE.NURBSUtils 等...然后插入到ParametricBufferGeometry中)
至于 WebGL 部分,如果你熟悉 OpenGL,它有很多相同的东西,只是在功能上减少了一点。您需要使用上下文 WebGL 制作画布,在 CPU 上生成所有数据(表面定义、曲面细分等),然后将所有顶点和索引数据传递给 GPU,使用着色器将其全部渲染。
我建议你从以下两个讲座开始:
最后,使用这个 WebGL 示例作为分配的起点:
祝你好运,编码愉快!如果你取得了好的成绩,请告诉我们!