LCC modelinin RenderState değerini ayarlar.
Derinlik testi, derinlik yazma, görüntüleme geçişi ve diğer parametreleri içerir.
Sürüm Gereksinimi
SDK v0.4.0+
Motor Desteği
CesiumJS
API
LCCObject::setRenderState(renderState: RenderStateParam): void
Parametreler
| Parametre | Tür | Gerekli | Varsayılan | Açıklama |
|---|---|---|---|---|
renderState.depthTest | Object | Hayır | - | Derinlik testi yapılandırması. |
renderState.depthTest.enabled | boolean | Hayır | true | Derinlik testinin etkinleştirilip etkinleştirilmeyeceği. |
renderState.depthTest.func | number | Hayır | - | Derinlik testi işlevi, örneğin Cesium.WebGLConstants.ALWAYS. |
renderState.depthMask | boolean | Hayır | true | Derinlik arabelleğine yazılıp yazılmayacağı. |
renderState.passIndex | number | Hayır | Cesium.Pass.CESIUM_3D_TILE | Cesium görüntüleme geçişi. |
renderState.stencilTest | Object | Hayır | - | Stencil testi yapılandırması. SDK v0.5.0+ |
Dönüş Değeri
void
Kullanım Örneği
Önerilen Derinlik Testi Yapılandırması (SDK v0.4.0+)
LCC modeli derinlik arabelleğine yazar ve daha yüksek öncelikli bir geçişte görüntülenir. Sonraki Cesium nesnelerinde derinlik testi etkinse doğru örtme ilişkileri elde edilir.
const renderState = {
depthTest: {
enabled: true,
func: Cesium.WebGLConstants.ALWAYS,
},
depthMask: true,
passIndex: Cesium.Pass.CESIUM_3D_TILE
};
lccObject.setRenderState(renderState);
Yarı Saydam Nesne Geçişi (SDK v0.4.0+)
Pass.TRANSLUCENT kullanıldığında nesneler arasındaki örtme ilişkileri, Cesium'un sahnedeki tüm saydam nesneleri kameradan sahne sınırlayıcı kutusuna olan mesafeye göre sıralamasına bağlıdır. Bu modda örtme sonuçları, raiseToTop() veya lowerToBottom() ile beklenen sonuçlarla uyuşmayabilir.
const renderState = {
depthTest: {
enabled: true,
func: Cesium.WebGLConstants.LESS,
},
depthMask: false,
passIndex: Cesium.Pass.TRANSLUCENT
};
lccObject.setRenderState(renderState);
Stencil Testi Kullanımı (SDK v0.5.0+)
const renderState = {
depthTest: {
enabled: true,
func: Cesium.WebGLConstants.ALWAYS,
},
depthMask: true,
passIndex: Cesium.Pass.CESIUM_3D_TILE,
stencilTest: Cesium.StencilConstants.setCesium3DTileBit()
};
lccObject.setRenderState(renderState);
Notlar
- Bu yöntem,
LCCRender.load()çağrısından hemen sonra eşzamanlı olarak çağrılabilir. - v0.4.0 ve v0.4.1 sürümleri yalnızca
depthTest,depthMaskvepassIndexparametrelerini destekler. - v0.5.0+ tüm RenderState parametrelerini destekler ve bunları mevcut ayarlarla birleştirir.
depthMask: falsekullanıldığında derinlik yazma devre dışı kalır ve LCC modeli ile diğer saydam nesneler arasındaki örtme ilişkileri Cesium'un sıralama sonucuna bağlıdır.
İlgili API'ler
LCCObject::lowerToBottom()LCCObject::raiseToTop()
Bu bölüm XGRIDS'in resmî kullanım kılavuzundan Türkçeye çevrildi; ekran görüntüleri ve arayüz adları özgün haliyle İngilizcedir. İngilizce aslı (yeni sekmede açılır) · Güncelleme:

