【问题标题】:Drawing Cylinder Model as thick 3d line将圆柱模型绘制为粗 3d 线
【发布时间】:2019-02-24 01:11:28
【问题描述】:

我正在开发一个必须以 3 维方式呈现图形的应用程序。 节点由球体表示,在我的初稿中,我只是将 glLines 绘制为边缘。

现在需要的线条是

a) 粗线和

b) 因为它是一个 3d 应用程序,所以它们基本上必须是圆柱形的(否则看起来会很奇怪)。

在阅读了 OpenGL 中的粗线后,我认为这相对复杂,尤其是考虑到我在 3d 中需要额外的圆柱形状。

所以我想“为什么不直接采用圆柱模型,然后将其平移/旋转/缩放以表示边缘”。

它对我来说很好用,也达到了我想要的外观。

由于我在研究“OpenGL 中的粗线”时从未在网上看到过类似的东西,所以我想知道我的方法是否有任何重大缺陷?

【问题讨论】:

  • 您开始在“OpenGL 模式”下思考。做得好。忘掉“粗线”吧。
  • 如果你想找到你要找的东西,我建议你搜索volumetric lines in opengl

标签: opengl glsl


【解决方案1】:

我会使用 GLSL

  1. 通过曲线图渲染部分的插值多项​​式/控制点

    因此,将您的绘图分成块,拟合多项式或使用三次插值。

  2. 渲染覆盖你实际渲染的块的矩形

  3. 在片段中

    计算片段到曲线的距离并渲染它(基于距离的颜色)或者如果比圆柱半径更远则丢弃它。

这里有一些相关的QA可以帮助您完成任务:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-23
    • 2012-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多