Lo Scene Graph è una struttura ad albero gerarchica che contiene le informazioni sugli oggetti presenti sulla scena, codificandoli come posizione e rotazione rispetto al nodo parent. La codifica avviene tramite una serie di matrici di trasformazione rototraslazionali.

Negli engine odierni spesso è possibile trovare sia trasformazioni globali (rispetto al pivot della scena) che locali (rispetto al parent).

Perché utilizzare lo Scene Graph?
Senza SG se si volesse modificare la posizione di un liquido rispetto al bicchiere che si muove si dovrebbe computare lo spostamento del liquido e del bicchiere separatamente. Usando lo scene graph invece, il movimento del bicchiere implica il movimento dell’acqua (se questa è posizionata in uno strato più interno del grafo) in quanto l’informazione sulla posizione del liquido è codificata rispetto al bicchiere, non al centro della scena.

Il rendering tramite Scene Graph permette di parallelizzare le operazioni (nodi alla stessa profondità sono indipendenti) e quindi di velocizzare il rendering.

Infine rende la gestione della scena più semplice da visualizzare per gli sviluppatori