需要用另一個模型掩蓋或裁剪Libgdx中3D模型的一部分。假設附加的圖片,有兩個箱子,我需要裁剪綠盒與即時紅色(如果攝像機視圖改變特定部分也應該被裁剪),結果應該像其他image.Any幫助或建議,將不勝感激。用Libgdx中的另一個模型掩蓋模型的一部分
0
A
回答
0
我應用了深度緩衝區來掩蓋我的3D模型,它工作正常。這是我的代碼片段。
Gdx.gl.glViewport(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
Gdx.gl.glClearDepthf(1f);
Gdx.gl.glClear(GL20.GL_DEPTH_BUFFER_BIT);
Gdx.gl.glDepthFunc(GL20.GL_LESS);
Gdx.gl.glEnable(GL20.GL_DEPTH_TEST);
Gdx.gl.glDepthMask(true);
Gdx.gl.glColorMask(false, false, false, false);
//the mask model
modelBatch.begin(cam);
modelBatch.render(redBox);
modelBatch.end();
// the model which is masked
modelBatch.begin(cam);
Gdx.gl.glColorMask(true, true, true, true);
Gdx.gl.glEnable(GL20.GL_DEPTH_TEST);
Gdx.gl.glDepthFunc(GL20.GL_EQUAL);
modelBatch.render(greenBox);
modelBatch.end();
特別感謝Matt DesLauriers。
0
我不知道libgdx但使用模板緩存(如果支持的話)可能是一個幫助。它是允許您用整數值標記特定像素的附加緩衝區,然後在主渲染過程中,您可以設置一些模板測試以決定丟棄哪些像素。
簡而言之:
- 清潔模板緩衝區0
- 只在模板緩衝區繪製紅色對象,具有值例如1
- 設置模板測試,以「零」
- 繪製綠色物體正常
這樣你畫綠箱子像往常一樣,但忽略它的模板像素!= 0,這意味着由所有遮擋紅色框。
+0
謝謝科倫達!我查庫,但它似乎模板緩存和可用於二維空間的深度緩衝。 –
相關問題
- 1. 調用另一個模型調用的部分模型方法
- 2. Django,設計與另一個模型部分鏈接的模型
- 3. 將模型放在另一個模型中時缺少部分
- 4. Rails 4 - 從一個模型調用另一個模型的值
- 5. Django調用模型中的另一個模型的upload_to
- 6. 連接一個模型與另一個模型的ForeignKey的
- 7. Rails模型屬於任一模型或另一個模型
- 8. 模型中的一列到另一個模型
- 9. Backbone.js - 與另一個視圖共享模型的一部分
- 10. RDBMS模型'包',也可以是另一個'包'的一部分
- 11. 從另一個模型導出模型
- 12. 只有當它是另一個模型的一部分時,纔將模型字段指定給模型
- 13. 使用模型中的named_scopes與另一個模型
- 14. 用另一個模型值替換模型中的字符串
- 15. Ractive:從另一個模型執行一個模型的方法
- 16. 如何在另一個模型中有一個模型列表?
- 17. 在Django的另一個模型中對同一模型的多個引用
- 18. 將創建的值從一個模型分配給另一個模型
- 19. Rails 3 - 在另一個模型中的多個模型形式
- 20. 將兩個相同類型的模型分配給另一個模型導軌
- 21. Django模型 - 引用更多的另一個模型的實例
- 22. 從extjs中的另一個模型文件中加載模型
- 23. 如何在另一個模型類中調用一個模型類的功能?
- 24. 在django模型中使用類作爲另一個類的一部分
- 25. 路由的模型,該模型具有從另一個模塊
- 26. 如何編寫引用另一個模型的模型方法?
- 27. 使用另一個模型填充模型數據的功能
- 28. 用另一個模型的ID更新模型
- 29. MVC - 另一個模型視圖中的模型視圖
- 30. Django如何獲取模型中的值從另一個模型
你忘了問一個問題,並提供你已經嘗試過的東西。看看:http://stackoverflow.com/help/how-to-ask。看看你的圖片,如果你改變紅色框的顏色爲黑色,它應該工作得很好。 – Xoppa
謝謝Xoppa,但我已經問過如何使用另一個模型來裁剪模型的一部分。將紅框改爲黑色是個好主意,但我的問題並不那麼簡單!我將使增強現實應用的背景色變得透明;所以紅色的盒子也應該是透明的。 –