Progettare un Motore 3D Marco Trivellato trive@technologist.com
Il motore grafico Motore Interno Vantaggi Personalizzabile Costo limitato Svantaggi Aumentano i tempi di sviluppo Conoscenze specifiche Motore Commerciale Vantaggi Non richiede conoscenze specifiche Non deve essere testato Svantaggi Costo della licenza
Requisiti Facilitá d’uso Efficienza Portabilitá Flessibilitá
Interfaccia ad alto livello Struttura del motore Applicazione Interfaccia ad alto livello Input Suono Grafica Hardware
Struttura a driver Possibilitá di definire propri driver L’interfaccia é sempre la stessa Portabilitá Driver Grafico Driver OpenGL Driver DirectX
Gestione della scena API ad alto livello Orientato agli oggetti Rendering e Aggiornamento automatico dei nodi Espandibile Node Group Leaf Nuova Classe World Mesh
Esempio di Gerarchia Group Group Group Geometries Geometries World World Group Group Leaf Group Mesh Mesh Geometries Geometries Geometries
Zone Ognuna ha le proprie caratteristiche luce ambientale suono ambientale Leggi fisiche specifiche Possibilitá di utilizzare i portali La definizione é compito del level designer
Determinare gli oggetti visibili Test gerarchico Clustering delle normali World Group Group
Collisioni Distinzione tra Collider e Collidee Test sulle zone Utilizzo della Scene Graph Bounding-volume gerarchici Modelli a basso numero di poligoni
Portabilitá Parte integrante dello sviluppo Progettare il codice pensando alla portabilità Codice Standard Struttura a driver Utilizzare un ambiente multi-piattaforma
Riferimenti Unreal Technology http://unreal.epicgames.com/ Tomas Moller, Eric Haines, “Real-Time Rendering”, A K Peters, 1999 Alan Watt, “3D Computer Graphics 3rd Edition”, Addison-Wesley, 2000