對不起,如果這是一個簡單的修復,但我似乎無法找到解決方案。JOGL紋理是半透明的
我創建了一個通過製作四個四邊形進行紋理化的框。但是,當我旋轉框以查看其渲染方式時,應該不應該看到的紋理顯示在其他紋理的頂部。
我認爲這與它們渲染的順序有關。我首先渲染盒子的正面,這樣當我向後旋轉時,正面紋理會顯示在背面。
我記得看到有關'剔除'的內容,但找不到任何文檔。任何幫助指出我在正確的方向將不勝感激!
對不起,如果這是一個簡單的修復,但我似乎無法找到解決方案。JOGL紋理是半透明的
我創建了一個通過製作四個四邊形進行紋理化的框。但是,當我旋轉框以查看其渲染方式時,應該不應該看到的紋理顯示在其他紋理的頂部。
我認爲這與它們渲染的順序有關。我首先渲染盒子的正面,這樣當我向後旋轉時,正面紋理會顯示在背面。
我記得看到有關'剔除'的內容,但找不到任何文檔。任何幫助指出我在正確的方向將不勝感激!
這聽起來(雖然看起來會更好,這意味着一些代碼),而不是一個深度測試問題,而不是剔除問題。你確定你啓用了深度測試(glEnable(GL_DEPTH_TEST)
)並檢索了一個深度緩衝區的上下文嗎?
@DJClayworth不,他們爲什麼要這樣做?如果你先畫正面,如果深度測試被禁用,背面和背面始終可以在每個視角的正面看到。也許您會談到背面剔除已啓用的情況,但首先,這不是默認情況,第二種情況,背面撲殺應該而是用於優化目的而不是用於隱藏表面去除,因爲後者僅適用於像立方體這樣的簡單凸面對象。 –
對不起,我的錯。我讀深度測試作爲深度削減。 – DJClayworth
首先確保您啓用了深度測試,並且方框中的「z」值也是正確的。你的問題似乎是你使用相同的深度值的四邊形或只是深度測試禁用。
快速搜索給了我這個鏈接。希望它會有所幫助。 http://www.leolol.com/drupal/tutorials/3d-graphics-jogl-opengl-etc/jogl-lesson-4-3d-shapes-and-rotation-opengl
PS:你的這個帖子標題不支持您的問題:(
我對2D項目啓用了深度測試,導致它們根本不透明。您的評論讓我走上了正軌! – dac2009
你能不能給我們稍微詳細說說你畫一個框,但你還別說4個面,而一箱?通常有六個,你確定你在正確的地方畫了你的臉嗎?如果你只是使用顏色而不是紋理來區分臉部會發生什麼? – DJClayworth