Sono in procinto di scrivere un motore 2D full HD capace per una compagnia di artisti che speriamo possano essere multipiattaforma e scritti in OpenGL e C++.Full HD 2D Texture Memory OpenGL
Il problema principale che ho avuto è come gestire tutti quegli sprite HD. Gli artisti hanno disegnato la grafica a 24fps e sono esportati come sequenze di png. Li ho convertiti in DDS (non ideale, perché ha bisogno dell'header directx per caricare) DXT5 che riduce il numero di file. Alcune scene del gioco possono avere 5 o 6 sprite animate alla volta e possono consistere di oltre 200 fotogrammi ogni. Attualmente sto caricando sprite in una serie di puntatori, ma questo richiede troppo tempo per essere caricato, anche con trame compresse, e utilizza un bel po 'di memoria (circa 500mb per una scena completa).
Quindi la mia domanda è: avete qualche idea o consiglio su come gestire volumi così elevati di frame? Ci sono un paio di idee che ho thought've di:
- Utilizzare il formato SWF per la memorizzazione dei telai da Flash
- Implementare un sistema di animazione scheletrica 2D, sostituendo le sequenze PNG (ho preoccupazioni circa il essendo visibili le articolazioni)
Come giochi come Castle Crashers si caricano così rapidamente con una grafica HD eccezionale?
Troppo lungo da caricare dal disco o troppo lungo per il caricamento sulla GPU? – genpfault
"non ideale, perché ha bisogno dell'intestazione directx da caricare" Non hai bisogno di intestazioni Direct3D per caricare i DDS. –