簡體   English   中英

在Libgdx(Android)的Camera視圖之外,是否會自動不繪制精靈

[英]Will the sprite be automatically not drawn when outside the Camera's view in Libgdx (Android)

當使用camera.translate(-x,-y)方法時,它是否自動不在其視圖之外繪制精靈,或者我是否必須手動操作而不是在攝像機視圖外繪制精靈?

如果您正在使用舞台,它會為您做到:

從Libgdx API,Groups繪制方法:

吸引所有孩子。 如果transform為true,則應在此方法之前調用applyTransform(Batch,Matrix4)並調用resetTransform(Batch)。 如果transform為false,則不需要調用這些方法,在繪制時,子位置會暫時被組位置偏移。 如果設置,此方法可避免將兒童完全吸引到剔除區域之外

因此,如果沒有舞台,您需要手動執行此操作。

它被繪制,但GPU開銷會降低,因為它不必在該sprite的任何片段上運行片段着色器。 CPU開銷將是相同的。

在相機平截頭體外手動檢查精靈和剔除是否有意義取決於你可以一次做多少。 如果你必須手動檢查每個單獨的精靈,它可能是不值得的,因為你將花費大約相同的CPU開銷檢查它們,就像你在屏幕上繪制它們一樣。 但如果你能快速檢查它們的組,那么它可能是值得的。

如果您正在使用標准的正交相機並且沒有做任何過於質朴的事情(除了翻譯),那么它應該自動執行此操作。 但它可能取決於具體如何設置。

當然,在房間內外繪制荒謬數量的精靈時,您總是可以嘗試測試性能。

還有ScissorStack; https://github.com/libgdx/libgdx/wiki/Clipping%2C-with-the-use-of-scissorstack

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM