OpenGL隐藏世界的一部分

Posted

技术标签:

【中文标题】OpenGL隐藏世界的一部分【英文标题】:OpenGL Hide part of the world 【发布时间】:2017-07-18 08:33:51 【问题描述】:

我实际上使用的是 openGL 1.20,我需要隐藏世界的一部分。例如,我希望不显示我的 z 轴(或任何其他轴)中高于 100 的所有内容。 我用glClipPlaneglScissor 尝试了一些东西,但它似乎只涉及相机的视图。 目标是看到物体的内部。 我应该使用什么?

编辑: 我用glClipPlane 试过这个,但我认为我的等式是错误的:

    static const GLdouble equation[] = 0,0,1000,1 ;

    glEnable(GL_CLIP_PLANE0);

    glClipPlane(GL_CLIP_PLANE0, equation);

【问题讨论】:

然后设置你的平截头体的远裁剪平面的值 这不是我想要的,我想躲开opengl世界的一个轴 【参考方案1】:

如果您的显卡功率较低,请使用 mesa.it 运行 opengl/glsl 3.3 。 然后学习 glsl,你可以在片段着色器中获得片段的位置。部署if 条件,gl_FragColor=.. 并添加

else discard;

仅此而已。

【讨论】:

以上是关于OpenGL隐藏世界的一部分的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 OpenGL 创建“无限”世界

OpenGL编程 基础篇世界窗口和视口

OpenGL - 选择性世界渲染

OpenGL-坐标系

3.OpenGL渲染技巧

显卡OpenGL兼容问题