Delen via


Resource-eigenschappen (Direct3D 9)

Alle resources delen de volgende eigenschappen.

  • Gebruik. De manier waarop een resource wordt gebruikt, bijvoorbeeld als patroon of een renderdoel.
  • Formatteren. De indeling van de gegevens, bijvoorbeeld de pixelnotatie van een 2D-oppervlak.
  • Poel. Het type geheugen waaraan de resource is toegewezen.
  • Type. Het type resource, bijvoorbeeld een hoekpuntbuffer of doel weergeven.

Resourcegebruik wordt afgedwongen. Een toepassing die een resource in een bepaalde bewerking gebruikt, moet die bewerking opgeven tijdens het maken van resources. Zie D3DUSAGEvoor een lijst met de gebruiksconstanten die zijn gedefinieerd voor resources.

De D3DUSAGE_RTPATCHES, D3DUSAGE_NPATCHES en D3DUSAGE_POINTS constanten geven aan het stuurprogramma aan dat de gegevens in deze buffers waarschijnlijk worden gebruikt voor driehoekige of rasterpatches, N-patches of puntspites. Deze vlaggen worden geleverd als de hardware deze bewerkingen niet kan uitvoeren zonder hostverwerking. Daarom wil het stuurprogramma deze oppervlakken toewijzen in het systeemgeheugen, zodat de CPU er toegang toe heeft. Als het stuurprogramma deze bewerkingen volledig in hardware kan uitvoeren, kan het deze oppervlakken toewijzen in video- of AGP-geheugen om een hostkopie te voorkomen en de prestaties ten minste tweevoudig te verbeteren. Houd er rekening mee dat de informatie die door deze vlaggen wordt verstrekt, niet absoluut vereist is. Een stuurprogramma kan detecteren dat dergelijke bewerkingen worden uitgevoerd op de gegevens en de buffer wordt teruggezet naar het systeemgeheugen voor volgende frames.

Zie de referentiepagina's op de afzonderlijke methoden voor het maken van resources voor meer informatie over de gebruiksvlagken en hoe deze betrekking hebben op specifieke resources.

Zie het D3DFORMAT geïnventariseerd type voor informatie over de surface-indeling van resources.

De geheugenklasse die buffers van een resource bevat, wordt een pool genoemd. Poolwaarden worden gedefinieerd door het D3DPOOL geïnventariseerd type. Een pool kan niet worden gemengd voor verschillende objecten die zich in één resource bevinden, dat wil bijvoorbeeld mip-niveaus in een mipmap, en wanneer een pool voor een resource wordt gekozen, kan de pool niet worden gewijzigd.

De typen resources worden impliciet ingesteld tijdens runtime wanneer de toepassing een methode voor het maken van resources aanroept, zoals IDirect3DDevice9::CreateCubeTexture. Resourcetypen worden gedefinieerd door het D3DRESOURCETYPE geïnventariseerd type. Toepassingen kunnen tijdens runtime query's uitvoeren op deze typen; In de meeste scenario's is echter geen controle van runtime-typen vereist.

Direct3D-resources