c++ - 在 OpenGL 中混合 GL_ALWAYS 和 GL_LESS
问题描述
我有:
- 一组点
- 一组网格
我需要
- 根据深度以正确的 z 顺序绘制网格。为此我使用了
glDepthFunc(GL_LESS)
orglDepthFunc(GL_LEQUAL)
, orglEnable(GL_DEPTH_TEST)
- 要按绘图顺序渲染的点,忽略深度。为此,我使用了
glDepthFunc(GL_ALWAYS)
, 或glDisable(GL_DEPTH_TEST)
. 它们是使用GL_POINTS
和绘制的glVertex3d
- 要渲染的网格,就好像点在正确的深度中一样。
图 1 显示了当考虑深度时,点与网格的平方关系。图 2 显示了忽略深度渲染点时的外观(因此无论深度如何,红点都出现在蓝点的顶部),但无论深度如何,网格始终位于点的后面。我希望网格与图 1 中的点具有相同的关系,但点之间的关系与图 2 中的相同。
我意识到我会进入类似于两个点之间的网格,但是深度较大的点呈现在深度较低的点的顶部,但在这种情况下,如果更接近的点呈现在最佳。
无论我尝试什么,它都会使网格要么在所有点的后面,要么在所有点的前面,无论每个对象的深度如何。我尝试的是绘制点,它可以根据需要工作,绘制网格并且它可以根据需要工作,但是当组合起来时,无论我先绘制点还是网格,它都不起作用。
问:有可能吗,如果有,我该怎么做?
解决方案
推荐阅读
- python - Python用子目录名称重命名子目录中的文件
- python - com_error 的 pywintypes 和 pythoncom 之间的区别
- oracle - 剧院数据库的 SQL Developer 触发器
- java - Talend 开放工作室中的 Telegram 机器人
- makefile - 如何创建这个makefile?子目录中的源,单独的输出路径,链接子目录中的对象
- c# - UDP 客户端接收仅在使用本地发送方时工作
- r - 使用 R 处理图像数据
- python - 为什么代码在终端中不显示 False?
- continuous-integration - 如何通过在磁盘上创建报告文件来生成 github 注释?
- data-structures - 表面网格三角形:查询空间内