İçeriğe geç
TREN
Atlıhan Harita

LCC for Web Kullanım Kılavuzu · API Başvurusu

LCCObject::setRenderState

Bölüm 06.34 / 07Kılavuz sürümü v0.6.4Türkçe

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

ParametreTürGerekliVarsayılanAçıklama
renderState.depthTestObjectHayır-Derinlik testi yapılandırması.
renderState.depthTest.enabledbooleanHayırtrueDerinlik testinin etkinleştirilip etkinleştirilmeyeceği.
renderState.depthTest.funcnumberHayır-Derinlik testi işlevi, örneğin Cesium.WebGLConstants.ALWAYS.
renderState.depthMaskbooleanHayırtrueDerinlik arabelleğine yazılıp yazılmayacağı.
renderState.passIndexnumberHayırCesium.Pass.CESIUM_3D_TILECesium görüntüleme geçişi.
renderState.stencilTestObjectHayır-Stencil testi yapılandırması. SDK v0.5.0+

Dönüş Değeri

void

Kullanım Örneği

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, depthMask ve passIndex parametrelerini destekler.
  • v0.5.0+ tüm RenderState parametrelerini destekler ve bunları mevcut ayarlarla birleştirir.
  • depthMask: false kullanı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.
  • 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:

XGRIDS Türkiye

Kurulumda ve Sahada Yanınızdayız

Atlıhan Harita; cihaz kurulumu, firmware güncellemesi, yazılım kullanımı ve saha uygulamalarında eğitim ve teknik destek verir. Sorunuzu iletin, uzmanımız size dönsün.

+90 216 546 0804