XGRIDSDocumentazione
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • Polski
  • Nederlands
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • Polski
  • Nederlands
  • Serie Lixel PortalCam

    • PortalCam P1

      • Panoramica del prodotto
      • Operazioni di base
      • Uso della LCC Scan App
      • Manutenzione e cura
      • FAQ
  • Serie Lixel K

    • Lixel K1

      • Panoramica del prodotto
      • Operazioni di base
      • Attivazione e connessione del dispositivo
      • Flusso di scansione
      • Ottenere una nuvola di punti con coordinate assolute
      • Fusione delle mappe
      • Consigli di pianificazione dei percorsi per scene tipiche
      • Precauzioni
      • FAQ
    • Lixel K2

      • Panoramica del prodotto
      • Operazioni di base
      • Attivazione e connessione
      • Flusso di scansione
      • Acquisire una nuvola di punti con coordinate assolute
      • Fusione mappe
      • Consigli di pianificazione dei percorsi per scene tipiche
      • Precauzioni
      • FAQ
  • Serie Lixel L

    • Lixel L2 Pro

      • Panoramica del prodotto
      • Operazioni di base
      • Attivazione e connessione del dispositivo
      • Flusso di scansione
      • Ottenere una nuvola di punti con coordinate assolute
      • Punto di misura
      • Appendice
      • FAQ
    • Lixel L3

      • Panoramica del prodotto
      • Operazioni di base
      • Attivazione e connessione del dispositivo
      • Acquisizione dei dati
      • Acquisizione di coordinate assolute
      • Appendice
  • Lixel Studio

    • Versione e copyright
    • Installazione e attivazione
    • Interfaccia del software
    • Operazioni sui file
    • Elaborazione del progetto
    • Strumenti
    • Disegno 2D
    • Applicazioni di settore
    • Impostazioni
    • Connessione del dispositivo
    • Domande Frequenti
  • Lixel CyberColor

    • LCC Studio

      • Introduzione
      • Versione e aggiornamenti
      • Download e installazione
      • Panoramica dell'interfaccia e navigazione
      • Operazioni preliminari alla ricostruzione
      • Prima della ricostruzione
      • Ricostruzione del modello
      • Ricostruzione modello singolo
      • Fusione delle mappe
      • Fusione aria-terra
      • Ricostruzione aerea
      • I miei modelli
      • Altre funzioni
      • Impostazioni e account
      • Convertitore
      • Ricostruzione video
      • Domande Frequenti / FAQ
    • LCC Scene Editor

      • Versione e aggiornamenti
      • Account e accesso
      • Panoramica del prodotto e home page
      • Interfaccia dell'editor
      • Modalità di navigazione
      • File
      • Impostazioni
      • Modifica
      • Finestra
      • Barra degli strumenti globale
      • Asset e proprietà
      • Barra degli strumenti sinistra
      • Punti di vista
      • Portale
      • Skybox
      • Annotazioni
      • Misurazione
      • Flythrough
      • Rapporto scena
      • 3D Layout
      • Mini-mappa
      • Modalità Anteprima (Viewer)
      • Aiuto
      • Domande frequenti (FAQ)
      • Punto di spawn
    • LCC Model Editor

      • Versione e aggiornamenti
      • Guida utente
      • Panoramica e interfaccia
      • Operazioni sui file
      • Selettori
      • Modifica dei modelli
      • Misurazione
      • Correzione colore
      • Gestione degli asset
      • Impostazioni e Aiuto
      • Domande frequenti
    • Capture Guide

      • Panoramica
      • Panoramica dei dispositivi di acquisizione
      • Principi generali di acquisizione
      • Acquisizione di scene interne
      • Acquisizione di scene esterne
      • Acquisizione su larga scala (map fusion)
      • Acquisizione per aerial-ground map fusion
      • Acquisizione di oggetti
      • Acquisizione di persone
      • Acquisizione per ricostruzione da video
      • HD Enhancement
      • Control points (Lixel P1)
      • FAQ e risoluzione dei problemi
    • Buone Pratiche

      • Unione di più modelli 3DGS di grandi dimensioni
    • Cronologia versioni
  • Plugin e SDK

    • Unreal

      • Introduzione
      • Avvio rapido - Windows
      • Avvio rapido - Linux
      • Avvio rapido - Quest3
      • Edizioni e licenze
      • Rendering
      • Rasterizzazione Tiled (sperimentale)
      • Impostazioni visive
      • Normali e illuminazione
      • Modifica della scena
      • Parametri di prestazione
      • Guida alle prestazioni
      • Integrazione con plugin di terze parti e del motore
      • Proxy Mesh
      • Animazione di caricamento
      • Collisioni
      • Supporto del Navigation System
      • Supporto di Single Layer Water
      • Localizzazione
      • FAQ
      • Risoluzione dei problemi
      • Log e diagnostica
      • Contattaci
      • Buone pratiche

        • Rilluminare il 3DGS con una mesh di LixelStudio
        • Rendering indipendente per camera
      • Riferimento API

        • ALCCActorBase
        • ULCCComponentBase
        • ULCCComponent
        • ULCC2Component
        • Actor SOG / SPZ / PLY
        • ALCC2ProxyMesh
        • ALCCClippingVolume
        • ALCCSectionPlane
        • ALCCLoadVolume
        • ULCCUtilLibrary
        • Enum
        • Struct
      • Registro delle modifiche

        • v3.5.0
        • v3.4.0
        • v3.3.1
        • v3.0.0
        • v2.2.1
        • v1.0.0
        • v0.9.0
        • v0.8.0
        • v0.7.1
        • v0.6.1
        • v0.5.2
        • v0.4.1
        • v0.4.0
        • v0.3.0
        • v0.0.5
        • v0.0.4
        • v0.0.3
        • v0.0.2
        • v0.0.1
    • Unity

      • Introduzione all'Unity SDK
      • Caratteristiche tecniche
      • Requisiti dell'ambiente di sviluppo
      • Guida rapida per PC
      • Guida all'ottimizzazione delle impostazioni di progetto
      • Guida allo sviluppo per Pico 4 Ultra
      • Guida allo streaming PC per Pico 4 Ultra
      • Guida allo sviluppo per Quest 3
      • Guida allo streaming PC per Quest 3
      • Guida allo sviluppo OpenXR
      • Guida allo streaming Business per Pico 4 Ultra
      • Glossario
      • FAQ
      • Contattaci
      • Guida allo sviluppo delle funzionalità

        • Guida allo sviluppo del rendering misto multi-scena
        • Guida allo sviluppo della ricezione delle ombre
        • Guida allo sviluppo dell'illuminazione in tempo reale
        • Guida allo sviluppo del rendering multi-camera
        • Guida allo sviluppo del rendering di immagini ad alta risoluzione
        • Guida allo sviluppo della compatibilità dei formati dati LCC e LCC2
        • Guida allo sviluppo dell'effetto di caricamento
        • Guida allo sviluppo del cambio di modalità di rendering Mip
        • Guida allo sviluppo dello snap a bordi e angoli
        • Guida allo sviluppo della decal proiettata
        • Guida allo sviluppo della decal proiettata video
        • Guida allo sviluppo dell'evidenziazione
        • Guida allo sviluppo del ritaglio in tempo reale
        • Guida allo sviluppo della regolazione del tono
        • Guida allo sviluppo dell'ottenimento dei dati Mesh della scena
        • Guida allo sviluppo della modalità Editor
        • Guida alla configurazione dei parametri di prestazioni di rendering
        • Guida allo sviluppo del co-impacchettamento di applicazione e dati
        • Guida allo sviluppo del sistema di collisione
        • Guida ai problemi di autorizzazione nello sviluppo su macOS
        • Guida allo sviluppo di compilazione e packaging per dispositivi iOS
      • Riferimento API

        • LCCManager
        • Renderer
        • Tipi di dati
      • Registro delle modifiche

        • v2.3.0
        • v2.2.10
        • v2.2.0
        • v2.1.19
        • v2.0.14
    • Web

      • Introduzione
      • Guida all'ottimizzazione delle prestazioni di rendering
      • Configurazione grafica
      • Guida allo sviluppo con WebGPU
      • Domande frequenti
      • Riferimento API

        • LCCObject::checkRenderNextFrame
        • LCCObject::clearRenderNextFrame
        • LCCObject::ecef2Prj
        • LCCObject::getBounds
        • LCCObject::getEnvInstancedMesh
        • LCCObject::getInstancedMesh
        • LCCObject::getLodInfos
        • LCCObject::getOriginPosition
        • LCCObject::getProjectionCoordinateSystemInfos
        • LCCObject::hasCollision
        • LCCObject::hasEnvironment
        • LCCObject::hasShcoef
        • LCCObject::intersectsCapsule
        • LCCObject::intersectsRayExt
        • LCCObject::intersectsRayFromOriginExt
        • LCCObject::intersectsSphere
        • LCCObject::lowerToBottom
        • LCCObject::prj2Ecef
        • LCCObject::raiseToTop
        • LCCObject::raycast
        • LCCObject::raycastFromOrigin
        • LCCObject::setAlpha
        • LCCObject::setClipBox
        • LCCObject::setClipPlane
        • LCCObject::setClipPrism
        • LCCObject::setEndLod
        • LCCObject::setLodAutoLevelUp
        • LCCObject::setMaxDistance
        • LCCObject::setMaxNodeSplats
        • LCCObject::setMaxSplats
        • LCCObject::setMipFilter
        • LCCObject::setOriginPosition
        • LCCObject::setPointsColor
        • LCCObject::setRenderState
        • LCCObject::setRotation
        • LCCObject::setScale
        • LCCObject::setSemantic
        • LCCObject::setSemanticColor
        • LCCObject::setSmooth
        • LCCObject::setStartLod
        • LCCObject::setTranslation
        • LCCObject::setVisible
        • LCCObject::togglePointsDisplayMode
        • LCCObject::useEnvironment
        • LCCObject::useShcoef
        • LCCRender::clearIndexDB
        • LCCRender::dispose
        • LCCRender::load
        • LCCRender::setCamera
        • LCCRender::unload
        • LCCRender::update
      • Registro delle modifiche

        • v0.6.4
        • v0.6.3
        • v0.6.2
        • v0.6.1
        • v0.6.0
        • v0.5.5
        • v0.5.4
        • v0.5.3
        • v0.5.2
        • v0.5.1
        • v0.5.0
        • v0.4.1
        • v0.4.0
        • v0.3.1
        • v0.3.0
        • v0.2.0
  • API

    • Modellazione spaziale strutturata

      • Guida all'accesso
      • Flusso di modellazione
      • Riferimento API
      • Credenziali di caricamento temporanee
      • Codici di errore

Rasterizzazione Tiled: l'altro percorso di rasterizzazione di LCC2

La pipeline LCC2 offre due metodi di rasterizzazione, selezionati tramite la proprietà Rasterizer sull'Actor: il predefinito Pipeline usa la pipeline di rendering del motore stesso, mentre Tiled usa un percorso compute basato su tile implementato dal plugin.

Tiled è attualmente sperimentale e appartiene all'edizione Pro. Diventa effettivo solo dopo la registrazione di un App Key, vedere Edizioni e licenze.

Nella maggior parte delle scene dense aumenta sensibilmente la frequenza dei fotogrammi, ma il guadagno dipende dal contenuto dell'immagine e da dove si trovi il collo di bottiglia. In alcune scene il guadagno è ridotto, in altre non c'è alcuna variazione. Dopo averlo abilitato, confermare il risultato con una misurazione, come descritto in Valutare se è utile. Non dare per scontato che sia sempre più rapido.

Nota: «tile» indica qui i riquadri di pixel dello schermo, cosa differente dal «rendering a blocchi» descritto in Rendering, che carica i nodi in base alla visibilità dalla camera. Il primo decide come vengono disegnati i dati già presenti in memoria video, il secondo decide come i dati entrano in memoria video. Sono indipendenti e possono essere attivi contemporaneamente.

Differenze tra i due metodi di rasterizzazione

Pipeline (predefinito)Tiled
RasterizzazioneAffidata alla pipeline di rendering del motore; ogni splat viene espanso in un quad e il motore riempie i pixelDispatch compute personalizzato del plugin; gli splat visibili vengono prima distribuiti nei tile dello schermo, poi ombreggiati e composti tile per tile
OrdinamentoUn unico ordinamento globale su tutti gli splat visibiliOrdinamento segmentato per tile dello schermo; ogni segmento ordina solo gli splat che ricadono in quel tile
MaturitàIl percorso predefinito di lunga dataSperimentale
LicenzaDisponibile nell'edizione gratuitaEdizione Pro

Il guadagno arriva da due punti: l'ambito dell'ordinamento si restringe da globale a un singolo tile dello schermo, e i pixel vengono elaborati solo nei tile che li coprono effettivamente, cosa che riduce il riempimento sprecato nelle aree sovrapposte.

Il guadagno è quindi legato al contenuto dell'immagine: è evidente quando la densità degli splat è alta e la sovrapposizione su schermo è forte, e non si osserva alcuna variazione quando l'immagine è rarefatta oppure quando il collo di bottiglia della frequenza dei fotogrammi non sta, in partenza, nell'ordinamento e nel riempimento dei pixel.

Il risultato visivo è identico in entrambi i casi. Cambiare Rasterizer non richiede altre modifiche di parametri e non influisce sul caricamento dei dati, sul LOD, sui volumi di taglio, sull'illuminazione né sulle impostazioni del colore.

Come abilitarlo

Nella categoria XGrids del pannello Details dell'Actor, impostare Rasterizer su Tiled. La proprietà si trova subito dopo Render Mode e compare solo quando Render Mode è 3DGS.

Chiamare il setter da Blueprint o C++:

LCC2Component->SetRasterizer(ELCC2Rasterizer::Tiled);

Esistono due getter, con scopi differenti:

MetodoValore restituito
GetRasterizer()La scelta memorizzata nel pannello
GetEffectiveRasterizer()La rasterizzazione effettivamente in uso, con il controllo della licenza applicato

Usare GetEffectiveRasterizer() per confermare che il percorso di rendering passi davvero per Tiled.

Valutare se è utile

Poiché il guadagno non è garantito, misurare prima e dopo il cambio. Il metodo corrisponde a quello della Guida alle prestazioni:

  1. Fissare le condizioni di test: stessa vista o stesso percorso della camera, stessa risoluzione e stesso Screen Percentage, ogni altro parametro invariato.
  2. Eseguire prima un passaggio di riscaldamento per tenere fuori dai valori la prima compilazione degli shader e la prima lettura da disco.
  3. Registrare il tempo per fotogramma della GPU con Pipeline usando stat unit come riferimento.
  4. Modificare solo Rasterizer e misurare di nuovo la stessa vista.
  5. Ripetere su alcune viste rappresentative, in particolare sulle immagini con gli splat più densi e la sovrapposizione più forte.

Se il tempo per fotogramma della GPU non cala, il collo di bottiglia attuale è fuori dall'ambito coperto da questo percorso. Mantenere Pipeline e continuare a individuare il vero collo di bottiglia con la guida alle prestazioni.

Ambito

VoceNote
PipelineSolo la pipeline LCC2. ALCCActor (.lcc) non ha questa proprietà
Formati.lcc2 / .sog / .spz / .ply funzionano tutti
Modalità di renderingSolo la modalità 3DGS. La modalità nuvola di punti ignora la proprietà e usa sempre Pipeline
Motore e RHILo stesso ambito di supporto del plugin stesso; funzionano sia D3D12 sia Vulkan
Viste multipleRendering stereo VR, nDisplay, split screen e SceneCapture sono tutti supportati

Comportamento senza licenza

Impostando Rasterizer su Tiled nell'editor senza un App Key registrato, compare un avviso che indica che la funzionalità richiede una licenza e la modalità di rendering viene riportata alla scelta precedente (Pipeline), senza provocare errori né fallimenti di caricamento.

Nota: verificare che la licenza sia valida prima del packaging per la release, altrimenti gli Actor che usano Tiled nell'output pacchettizzato seguono il comportamento dell'edizione gratuita e usano Pipeline.

Quando mantenere Pipeline

  • È in uso la modalità di rendering a nuvola di punti. Lì la proprietà non ha effetto, quindi non c'è nulla da impostare.
  • Sono caricati dati .lcc. La pipeline LCC non ha questo percorso.
  • Progetti in edizione gratuita. Tiled ripiega comunque, quindi il valore predefinito è più chiaro.
  • La misurazione non mostra alcun miglioramento del tempo per fotogramma.
  • Il progetto è entrato nella validazione per la consegna, dove è meglio evitare un percorso sperimentale.

Tiled abbassa il costo della fase di rendering; non riduce il lavoro di caricamento e attraversamento. Quando il collo di bottiglia sta sul lato del caricamento dei dati, affrontare prima caricamento e LOD con la Guida alle prestazioni.