【问题标题】:CSG Modeling in OpenGLOpenGL 中的 CSG 建模
【发布时间】:2012-06-07 07:27:09
【问题描述】:

我正在使用 OpenGL 处理构造实体几何 (CSG) 建模。

我想知道如何实现二进制操作。我读了一些关于Gold Feather Algorithm的东西,我知道OpenCSG,但是在读了its source code之后,我发现它太复杂了,无法理解。我只需要一个简单的最短 OpenGL 示例如何实现它。

算法没有限制,只要易于实现即可。

【问题讨论】:

    标签: opengl graphics modeling csg


    【解决方案1】:

    OpenGL 不会帮助你。 OpenGL 是一个渲染 库/API。它绘制点、线和三角形;由 告诉它要画什么。 OpenGL 不维护场景,甚至没有连贯几何对象的概念。因此,CSG 不是进入 OpenGL 的东西。

    【讨论】:

    • 我确实有一个 CSG 树和相应的数据结构。但是,如果我的数据结构告诉我如何渲染intersection
    • 我认为 OpenGL 可以提供帮助,因为 OpenCSG 是基于它的。我需要的是易于理解的算法。
    • 投了反对票,不仅因为这个答案没有帮助,还因为有面向渲染的方法来绘制 CSG 操作的结果;此类方法通常严重依赖 GPU(OpenGL 或等效)代码,因此我发现此答案具有误导性。
    【解决方案2】:

    Nicol Bolas 是正确的 - OpenGL 对 CSG 没有帮助,它只提供了一种将 3D 事物绘制到 2D 屏幕上的方法。 OpenCSG 本质上是“假”CSG,它使用 OpenGL 的深度缓冲区、模板和着色器使 显示 3D 对象已对其执行布尔操作。

    CSG 是一项艰巨的任务,我怀疑您是否会找到“易于理解的算法” 看看这个项目:http://code.google.com/p/carve/ 对三角形/面执行 CSG,然后将其绘制到 OpenGL

    【讨论】:

    • 有没有关于如何使用OpenGL's depthbuffers, stencils and shaders来实现的文章?
    • OpenCSG 将是查找的最佳地点,但是当您发现它很复杂时,我会推荐 openGL 红皮书 - 当我希望更好地了解 openGL 时,我总是会回到那个地方:www.amazon .com/OpenGL-Programming-Guide-Official-Learning/dp/0321552628
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-14
    • 2012-02-16
    • 1970-01-01
    • 2017-06-16
    • 2017-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多