2012-07-10 99 views
1

所以我正在使用本教程進行一些OpenGL實驗,但由於某些原因,我的頂點深度似乎並不關心它們的繪製方式。在下面的截圖中,立方體具有相同的大小,但較大的立方體更接近屏幕。我相信它應該遮擋較小的立方體,但事實並非如此。我幾乎完全按照教程中的代碼,是否有什麼明顯的錯誤?OpenGL ES 2.0 Z軸不影響遮擋

http://games.ianterrell.com/opengl-basics-with-glkit-in-ios5-encapsulated-drawing-and-animation/

screenshot http://dl.dropbox.com/u/2396540/image.png

+0

.......... code? – Dustin 2012-07-10 17:28:42

+0

我使用相同的代碼從鏈接中,我不想粘貼在這裏,因爲它有很多東西,我不確定我應該在哪裏看。 – Weston 2012-07-10 17:31:41

+0

如果他們的工作和你的不工作,那麼只需找到不同的東西。沒有人願意爲您找出可能是錯誤的東西,特別是如果不知道是否存在錯誤或錯誤發生的可能性或不可能發生的情況,那麼您無需再爲整個教程做更多的工作。 – Dustin 2012-07-10 17:34:35

回答

2

你可能設置您的GLKView沒有深度緩衝。 GLKView有一個prolery drawableDepthFormat,用於控制繪圖深度緩衝區的創建和精度。默認值爲GLKViewDrawableDepthFormatNone,這對2D合成非常有用。

如果您需要更高的深度精度,當您要繪製3D對象時,應將其設置爲GLKViewDrawableDepthFormat16GLKViewDrawableDepthFormat24

+0

看起來沒錯,下班後我就可以檢查了。但我不記得設置。謝謝。 – Weston 2012-07-10 17:41:08

+0

奇妙地工作!謝謝! – Weston 2012-07-10 18:28:28