2012-12-15 17 views
0

我有一個問題... 是否可以僅爲一個對象禁用GL10.GL_DEPTH_TEST? 在我的例子中,有一個帶有Alphashadow紋理的Groundplane,並且我想爲我的Carmodel禁用DEPTH_TEST來僞造陰影。其他對象不應該禁用DEPTH_TEST,所以我不會通過它們看到陰影。如何僅爲一個對象禁用GL_DEPTH_TEST

這裏是一個截圖(陰影不perfecty翻譯成他們的對象,但我想你會得到我的問題)https://dl.dropbox.com/u/18265107/special/screenshot.png

+0

您可以隨時啓用/禁用深度測試。 – JasonD

+0

是的,但是在任何時候我都會通過我的容器看到我的陰影 – vacetahanna

+0

任何你禁用深度測試的東西都會顯示在其他東西之上。對於任何你喜歡的事情,你都可以選擇做或不做。但我不認爲它會修復你的陰影。爲什麼你認爲你需要完全禁用深度測試? – JasonD

回答

2

任何你禁用深度測試將顯示在其他的東西上面。對於任何你喜歡的事情,你都可以選擇做或不做。但我不認爲它會修復你的陰影。

爲了達到你想要什麼,禁用深度測試是不夠的,你需要使正確的順序東西:

  1. 渲染地面。
  2. 渲染這輛車。
  3. 呈現陰影,並禁用了深度測試。
  4. 渲染環境的其餘部分。

但是,這假定地面是平坦的,並且陰影不會投射到其他場景物體上,這可能看起來是錯誤的。

相關問題