Domanda

L'algoritmo di occlusione è necessaria in CAD e industria dei videogiochi. E sono diversi nei due settori credo. Le mie domande sono:

  1. Che tipo di algoritmi di occlusione vengono applicate rispettivamente nei due indurstries?
  2. e qual è la differenza?

Sto lavorando sullo sviluppo del software CAD, e l'algoritmo di occlusione che abbiamo adottato è - impostare l'identificatore di oggetto, come il suo colore (un intero) e quindi rendere la scena, infine, leggere il pixel per scoprire gli oggetti visibili. La prestazione non è così buono, quindi voglio ottenere alcune buone idee qui. Grazie.


Dopo aver letto le anwsers, tengo a precisare che le algoritmi di occlusione qui significa "occlusione abbattimento" -. Scoprire superficie visibile o entità prima di inviare nella pipeline

Con Google, ho trovato un algoritmo a Gamasutra . Qualsiasi altro buone idee o scoperte? Grazie.

È stato utile?

Soluzione

Mi bloccato che la maggior parte delle risposte finora discutere unica immagine-ordine occlusione. Io non sono del tutto sicuro per CAD, ma nei giochi di occlusione inizia ad un livello molto più alto, con alberi BSP, ottobre alberi e / o portale di rendering per determinare rapidamente gli oggetti che appaiono all'interno del tronco di visualizzazione.

Altri suggerimenti

Nei giochi occlusione avviene dietro le quinte utilizzando uno dei due librerie 3D: DirectX o OpenGL. Per entrare nello specifico, l'occlusione viene fatto usando un Z tampone . Ogni punto ha una componente Z, punti che sono punti più vicini occludere che sono più lontani.

L'algoritmo di occlusione di solito è fatto in hardware da una grafica 3D chip di elaborazione dedicato che implementa le funzioni di DirectX o OpenGL. Un programma di gioco con DirectX o OpenGL sarà disegnare oggetti nello spazio 3D, e hanno la libreria OpenGL / DirectX rendere la scena tenendo in considerazione la proiezione e l'occlusione.

Il termine si dovrebbe cercare è nascosta rimozione superficie .

il rendering in tempo reale di solito si avvale di un semplice metodo di rimozione della superficie nascosta: Ignora lato posteriore. Ogni poli avrà un punto "superficie normale" che è pre-calcolare ad una determinata distanza dalla superficie. Controllando l'angolo della superficie normale rispetto alla telecamera, sapresti che la superficie sia rivolta, e quindi non ha bisogno di essere reso.

Ecco alcuni dimostrazioni e spiegazioni basati su memoria flash .

pixel hardware Z-buffer è di gran lunga la tecnica più semplice, ma in scene di oggetti ad alta densità si può ancora tentare di rendere il pixel stesso più volte, che possono diventare un problema di prestazioni in alcune situazioni. -. Certamente necessario assicurarsi che non stai mappando e texturing migliaia di oggetti che proprio non sono visibili

Al momento sto pensando a questo problema in uno dei miei progetti, ho trovato questo ha stimolato alcune idee: http: // www .cs.tau.ac.il / ~ dcor / grafica / ADV-slides / short-image-based-culling.pdf

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top