(29-06-2011 15:22)fatto ha scritto: se non ricordo male la demo della lionhead girava sull'xbox però 
probabilmente un pc potrebbe avere meno "stenti" a farlo girare 
Da un altro lato.. tutte queste cose dipendono molto dall'hardware sottostante.. quindi tradizionalmente la console si presta meglio perche' l'accesso alle risorse piu' diretto ed i tempi sono meglio stabiliti.
(Xbox 360 passa via Direct3D, ma comunque la performance e' relativamente stabile cosi' come la mappa di memoria).
Comunque, come per tutte le demo, probabilmente c'e' molto altro lavoro prima che il tutto sia utilizzabile con successo in un gioco.
(29-06-2011 19:45)sheldoncooper ha scritto: Grazie mille delle informazioni.
http://www.nvnews.net/vbulletin/showthread.php?t=70056
Leggendo questa intervista mi è sembrato di capire che il virtual texturing consiste nell'utilizzare texture di dimensione maggiore di quelle che possono essere gestite da opengl o directx facendo in mano di caricare effettivamente in memoria solo la porzione che serve. Ma a quanto pare il virtual texturing è utilizzato già ora anche dell'unreal engine. Il megatexturing del tech5 a quanto ho capito è un caso particolare di virtual texturing dato che usa una texture enorme che copre tutta la mappa. Mi sbaglio o ho capito bene?
Virtual texture in pratica vuol dire che c'e' un sistema piu' o meno trasparente di cache che permette di richiedere texture da disco quando necessaria.
E' un problema di caching e quindi richiedere un po' degli accorgimenti e dei limiti prestabiliti.
MexaTexture in pratica suddivide il terreno in riquadri o "isole" che sono compressi simil-JPEG (
lossy e basato su
DCT) e letti su disco quando il player ci si avvicina.
Il limite nella implementazione in id Tech 5 sta' nel fatto che e' prestabilito che il terreno apparira' ad una certa velocita'.. e credo MegaTexture sia almeno inizialmente tarato su Rage.. ovvero un gioco dove si corre in macchina ad una velocita' limite.
Per questa ragione salta molto fuori la parola "streaming".. perche' i dati vengono letti in maniera relativamente sequenziale (sai la direzione della macchina, per cui leggi il terreno che sai piu' o meno apparira nei prossimi secondi).
Questo perche' ovviamente se la texture e' su disco, deve pur sempre essere letta in maniera relativamente lenta (comprimere in un formato lossy aiuta molto, e buona parte di MegaTexture si basa sul fatto che le texture sono compresse).
Quello che sicuramente tenta di fare id Tech 5 e' virtualizzare le textures in maniera piu' intima e trasparente possibile.
Ad esempio, sia su PC che su iPhone (vedi il paragrafo
Technical Geek Details) si basa su il sistema operativo per mappare un area di memoria virtuale su disco e lasciare che sia l'OS a schedulare lo streaming di dati da disco a RAM (ma non VRAM purtroppo).
Citazione:Ad esempio in questo video carmack continua ad aggiungere decal sulla texture principale. Questi decal vengono fusi tutti assieme in un'unica texture? Potenzialmente un artista potrebbe passare un mese ad aggiungere dettagli senza preoccuparsi della memoria? E' importante questo fatto? Negli altri engine pesano parecchio le limitazioni sulle texture?
Dipende dal tipo di gioco.. sicuramente ne beneficiano di piu' giochi all'aperto.. e credo che quasi tutti i piu' famosi usano una forma di streaming e/o compressione.
Come ho gia' accennato, secondo me e' piu' comunque voler avere texture molto grandi ma che si vedono tutte nello stesso frame.
In questo caso c'e' il paper del 1990 della Pixar "Texture on demand" (
PDF).. che appunto organizza le texture in maniera piramidale (a risoluzioni multiple), oltre che suddividerle per blocchi o "isole" come fa MexaTexture ed altre tecniche pensare per spazi variabili piuttosto che dettagli variabili.