【问题标题】:How to render a cross section in opengl如何在opengl中渲染横截面
【发布时间】:2023-04-11 07:15:01
【问题描述】:

我试图使用 OpenGL 获取模型的横截面。具体来说,我想将横截面视图投影到 2D 平面上。 (例如,如果我要切割一个厚度为零且长度有限的管道,从上到下垂直,我的输出应该是二维视图中的圆)。

我知道glClipPlane() 有效,但我的理解是该函数沿平面对模型进行切片,而不是投影切片。有没有办法在 OpenGL 中实现我想要的?

【问题讨论】:

  • 在您的示例中,您希望看到实心圆还是圆的轮廓?
  • 一个大纲就足够了。

标签: opengl clipping


【解决方案1】:

glClipPlane 做了什么,它只是丢弃了它后面渲染的任何像素。

没有开箱即用的方法来填充模型的“内部”,因为没有办法知道应该有什么,特别是如果你记得,OpenGL 只是一个渲染猴子用三角形汤。模型组合是更高级别的抽象,需要由您的应用处理。

您需要自己构建覆盖横截面的多边形。为此,您可能需要一些提供 3D 布尔运算和表面重建的库。

应该有一些体积 3D 渲染 API,例如基于体素的 API 等,但使用这些 API 可能会更令人头疼。

【讨论】:

  • 感谢您告诉我限制。你有什么 3D 渲染库可以推荐吗?
  • 对不起,我没有这样的库引用,我的工作中没有使用过。另请注意,软件/库推荐问题在 StackOverflow 上是题外话。如果我的回答对您有帮助,您可以投票和/或接受。
猜你喜欢
  • 1970-01-01
  • 2011-09-11
  • 2010-11-18
  • 2016-05-10
  • 2013-09-26
  • 1970-01-01
  • 2020-02-20
  • 2015-07-08
  • 1970-01-01
相关资源
最近更新 更多