Domanda

Dovrei essere sempre utilizzando questo metodo durante il rendering? Ha rallentare molto su schede grafiche cattivi?

Se il risultato finale non avrà molti volti abbattuti, dovrei essere anche con questo metodo, allora?

È stato utile?

Soluzione

Se tutti i vostri modelli sono definiti correttamente (convesso, con vertice costante avvolgimento), l'abbattimento sarà prestazioni mai male, e sarà quasi sempre aiuto prestazioni.

Immaginate di essere il rendering di un cubo, con abbattimento disabilitato. Le facce sul retro (lontano lato) del cubo vengono reso rivolto lontano da voi, e tutto ciò che faccia posteriore materiale attributi che hai scelto venga applicato. Poi le facce sulla parte anteriore del cubo vengono resi:. Dal momento che le facce posteriori che sono stati appena resi sono all'interno del cubo, sono 100% occluso dalle facce anteriori

Se il cubo è stato orientato in modo diverso, le facce anteriori potrebbe essere rasterizzati prima, ma le facce posteriori sarà ancora elaborato e quindi i frammenti respinto dal buffer z.

Il risultato netto: si rasterizzato 2x come molti frammenti, se necessario. Questo viene ad essere un grosso problema con un gran numero di poligoni o pixel shader complessi. Viso abbattimento consente di evitare completamente la rasterizzazione volti che si sa non verranno visualizzati.

Se si dispone di un modello di personaggio con ~ 100.000 poligoni, face culling metà la quantità di lavoro dell'hardware pixel ha a che fare ogni fotogramma. Questo è un grande risparmio se si hanno grandi shader di superficie.

Se si sta lavorando con piccoli modelli e senza shader, abbattimento in realtà non importa in questi giorni. Ma è buona norma consentire in ogni caso.

Altri suggerimenti

L'attivazione di faccia Culling (di solito back-face) ha un impatto significativo sulle prestazioni di rendering.

Ora la domanda a cui rispondere è poi "il motivo per cui non è abilitato di default abbattimento o perché non viene utilizzato sempre?" ci sono diversi fattori che determinano se consentire abbattimento è fattibile o meno. Uno è il modello in fase di rendering e di come si è visto.

Per ogni poligono nel modello, se solo una faccia anteriore o posteriore è visibile (quando il modello è visto da tutte le angolazioni possibili) allora possiamo abbattere l'altra faccia.

Per Es.: "Cube", non importa se si sta cercando da dentro o fuori di esso, quando viene ruotato, si può vedere solo un lato di ogni 6 poligoni che compongono-up del cubo

Un altro Es: "Vele di un modello di nave", come nel mio mare-guerre (3d) gioco, le vele di un modello di nave è una superficie costruita con diversi poligoni piatti. Quando una barca si muove intorno in acqua, si può vedere entrambi i lati della vela. In questo caso culling una delle facce non è desiderabile.

Quindi abbattimento può essere abilitato per tutti i modelli della scena che seguono cubi semantica e disattivazione per tutti gli altri modelli.

P.S. Face culling dovrebbe essere usato quando possibile.

Dipende dalla roba che si sta renderizzando. In generale è desiderabile abbattimento. L'unica ragione per cui posso immaginare di non usarlo è quello di rendere i modelli che hanno le facce posteriori visibili. Un altro scenario in cui l'abbattimento potrebbe non essere voluto potrebbe essere mal modelli in cui i vertici sono definiti nell'ordine sbagliato modellato.

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