我想使用OpenGL的线框模式来绘制模型,但同时,我不希望被遮挡的部分可见。我怎样才能实现这个目标

问题描述 投票:0回答:1

我想使用OpenGL的线框模式(glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);)来绘制模型,但同时,我不希望被遮挡的部分可见。我怎样才能实现这个目标。

我启用了深度测试,但这不起作用。使用glCullFace也不能解决问题,里面的网格如眼球会看不见。我怎样才能在 GL_LINE 模式下隐藏被遮挡的网格?

opengl wireframe
1个回答
0
投票

绘制两次,第一遍以背景/透明颜色填充模式多边形,第二遍以实际颜色绘制线条模式。在一次传递中使用较小的多边形偏移,因此 Z 值略有不同。

您可以通过编写自定义着色器来完成一次传递。论文中描述 单通道线框渲染 Bærentzen、尼尔森、Gjøl、拉森、克里斯滕森

© www.soinside.com 2019 - 2024. All rights reserved.