Generazione automatica di Mipmap (Direct3D 9)
È ora possibile creare automaticamente una mipmap che è una serie di trame, ognuna filtrata in base a una risoluzione diversa. Le mipmap vengono comunemente usate per fornire livelli di dettaglio diversi durante il rendering. La generazione automatica di mipmap in fase di creazione della trama sfrutta i vantaggi del filtro hardware perché la mipmap risiede nella memoria video.
Per generare automaticamente un mipmap, impostare un nuovo D3DUSAGE_AUTOGENMIPMAP di utilizzo prima di chiamare CreateTexture. La generazione di sublevel da questo punto in poi è completamente trasparente per l'applicazione. Solo il livello di trama principale è accessibile all'applicazione; i sublevel della trama non sono accessibili perché verranno creati solo quando necessario dal driver. Nei casi in cui la generazione di sublevel può richiedere molto tempo, usare GenerateMipSubLevels per suggerire al driver che deve generare sottolivello alla volta appropriato per l'applicazione.
Filtro Mipmap
SetAutoGenFilterType controlla la qualità del filtro durante la generazione automatica. La modifica del tipo di filtro causa la rigenerazione dei sottolivello mipmap e ne determina la rigenerazione. Usare GetAutoGenFilterType per ottenere il tipo di filtro corrente. Il tipo di filtro predefinito è D3DTEXF_LINEAR. Se il driver non supporta un filtro lineare, il tipo di filtro verrà impostato su D3DTEXF_POINT.
Questi metodi non hanno alcun effetto se la trama non viene creata con D3DUSAGE_AUTOGENMIPMAP E non viene restituito alcun errore. Tutti i tipi di filtro supportati dal driver per il filtro delle trame regolari sono supportati per la generazione automatica tranne D3DTEXF_NONE. Per ogni tipo di risorsa, i driver devono supportare tutti i tipi di filtro riportati nella trama corrispondente, CubeTexture e limiti di filtro volumetexture.
Per verificare quali tipi di filtro sono supportati, verificare quali limiti sono supportati dai membri TextureFilterCaps e/o CubeTextureFilterCaps di D3DCAPS9.
Supporto di Mipmap
D3DUSAGE_AUTOGENMIPMAP è solo un suggerimento e specifica questo durante la creazione della trama o quando si chiama CheckDeviceFormat non provocherebbe un errore in uno dei tipi DDI (Device Driver Interface).
La chiamata a UpdateTexture non è valida quando l'origine è un mipmap generato automaticamente, ma la destinazione non è. L'origine può essere un mipmap non generato automaticamente e la destinazione può essere un mipmap generato automaticamente. In questo caso, viene aggiornato solo il livello di corrispondenza più alto. Tutti gli altri sottolivello di origine vengono ignorati. Analogamente, quando vengono generati automaticamente sia l'origine che la destinazione, viene aggiornato solo il livello di corrispondenza più alto. I sottolivello dell'origine vengono ignorati e i sottolivello di destinazione vengono rigenerati.
Per verificare il supporto per la generazione automatica di mipmap, verificare che sia impostata D3DCAPS2_CANAUTOGENMIPMAP. In caso affermativo, chiamare CheckDeviceFormat con D3DUSAGE_AUTOGENMIPMAP. Se il valore restituito è D3D_OK, è garantito che le mipmap vengano generate automaticamente. Se il valore restituito è D3DOK_NOAUTOGEN, significa che la chiamata di creazione avrà esito positivo, ma non verranno generate mipmap.
Argomenti correlati