【发布时间】:2012-10-29 21:15:23
【问题描述】:
在我的 Android 应用程序中,我需要显示一个 3D 对象(这没问题),但前边缘应该是实心的,后边缘应该是点状的。我需要在图片上有类似的东西。如何使用 OpenGL ES 1 或 2 实现它?
我已经尝试过 Tim 的想法(使用深度缓冲区)。它可以工作,但有一些像图片上的人工制品,虚线(紫色)线与实线(红色)线重叠:
这是因为虚线(紫色(GL_GREATER))是在红线(GL_LEQUAL)之后绘制的。 有什么办法可以预防吗?
感谢大家的帮助。现在看起来很棒!
【问题讨论】:
-
那是我第一次接触 OpenGL。我不知道。
-
我不能给你一个完整的答案,但我认为你需要做的是使用 gles2.0 并剔除对象以便渲染所有面,然后使用着色器你可以执行与此类似的方法(在 Google 搜索中找到),让您绘制虚线。有了这些信息,也许有人可以帮你拼凑起来。 if (step(sin(scale * input.param), 0.5f)) 丢弃;