【发布时间】:2016-01-25 19:29:52
【问题描述】:
我正在 Android 中使用 OpenGL-ES 3.0。
为了简化我的问题,我将描述一个与我的非常相似的场景。假设我有一个以原点为中心的球体。假设我有另一个以原点为中心的球体,半径更大。最后,假设我有一个圆柱体,圆柱体顶面的中心位于原点。圆柱体与两个球体相交。场景图片如下:
但是,在我的应用程序中,两个球体中较小的一个是不可见的(尽管它存在)。它是完全透明的。因此,我想要的最终产品看起来像这样:
现在,还有一条信息:正如我之前提到的,这是对我当前场景的简化。而不是球体,我有更复杂的对象(不是简单的原始形状)。因此,从数学的角度来解决这个问题(例如仅绘制大于较小球体半径且小于较大球体半径的圆柱体部分)是行不通的。我需要从编程的角度以某种方式解决这个问题(但鉴于我对 OpenGL 的了解有限,我只能将深度测试和混合视为可行的选项)
【问题讨论】:
标签: android opengl-es blending depth-buffer