【问题标题】:Rendering NURBS surface in webGL在 webGL 中渲染 NURBS 表面
【发布时间】:2016-12-15 18:35:57
【问题描述】:

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

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

提前致谢

【问题讨论】:

  • 说您需要使用基于多边形的渲染 API 来绘制 NURBS 表面,这几乎是在说开车去月球。您只能绘制代表 NURBS 曲面的东西

标签: javascript webgl nurbs


【解决方案1】:

仅仅因为你不能使用 three.js 并不意味着你不能看它来弄清楚它是如何工作的! This example renders NURBS,你也可以view the source code。 (提示:它使用THREE.NURBSSurface, THREE.NURBSUtils, etc...,然后将其插入ParametricBufferGeometry

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

【讨论】:

    【解决方案2】:

    我建议你从以下两堂课开始:

    Drawing Bézier Curves

    Drawing Lines is Hard

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

    Resolution independent rendering of Bezier curves in WebGL

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

    【讨论】:

      猜你喜欢
      • 2014-05-22
      • 2011-12-09
      • 1970-01-01
      • 2011-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-28
      相关资源
      最近更新 更多