【发布时间】:2017-01-05 07:36:24
【问题描述】:
例如,有两个对象,我看到它们从 (0,0,100) 到 (0,0,0)。
Object1 : 立方体在中心(长/宽/高 10) Object2:中心球体(半径 5)
那么,我只能看到立方体(此时我不考虑视野和视野体积)
因为openGL使用z-buffer算法, 在窗口的中心,一个像素首先有四个深度值。 深度 90(立方体正面),深度 110(立方体背面) 深度 95 和 105(用于球体)
补充:然后z-buffer只显示立方体的颜色(深度90,正面)
那么现在,我想获取保存在窗口中心像素上的值 4。 有没有办法获得这个值?
【问题讨论】:
-
对不起?我不明白。 4 是从哪里来的?
-
永远不会同时有四个深度值。只存储最前面的一个。您有多少覆盖完全取决于处理片段的顺序。
-
另外,如果您在原点 (0,0,0) 绘制球体,不使用任何其他世界或视图矩阵,并且打开了背面剔除,您的球体将得到剔除,除非它的所有面都指向内。