Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Patroonkaarten zijn gedigitaliseerde afbeeldingen die zijn getekend op driedimensionale vormen om visuele details toe te voegen. Ze worden tijdens het raster in deze shapes toegewezen en het proces kan grote hoeveelheden van zowel de systeembus als het geheugen verbruiken. Om de hoeveelheid geheugen te verminderen die door patronen wordt verbruikt, ondersteunt Direct3D de compressie van textuuroppervlakken. Sommige Direct3D-apparaten bieden systeemeigen ondersteuning voor gecomprimeerde textuuroppervlakken. Op dergelijke apparaten, wanneer u een gecomprimeerd oppervlak hebt gemaakt en de gegevens erin hebt geladen, kan het oppervlak worden gebruikt in Direct3D, net als elk ander patroonoppervlak. Direct3D verwerkt decompressie wanneer het patroon is toegewezen aan een 3D-object.
Compressie van opslagefficiëntie en bitmappatroon
Alle structuurcompressie-indelingen zijn machten van twee. Hoewel dit niet betekent dat een textuur noodzakelijkerwijs vierkant is, betekent dit wel dat zowel x als y machten van twee zijn. Als een patroon bijvoorbeeld oorspronkelijk 512 bij 128 bytes is, is de volgende mipmapping 256 bij 64, enzovoort, waarbij elk niveau afneemt met een macht van twee. Op lagere niveaus, waarbij de textuur wordt gefilterd op 16 bij 2 en 8 bij 1, zullen er verspilde bits zijn omdat het compressieblok altijd een 4 bij 4 blok van texelen is. Ongebruikte delen van het blok worden opgevuld. Hoewel er verspilde bits op de laagste niveaus zijn, is de algehele winst nog steeds aanzienlijk. Het ergste geval is in theorie een 2K bij 1 textuur (2⁰ macht). Hier wordt slechts één rij pixels per blok gecodeerd, terwijl de rest van het blok niet wordt gebruikt.
Indelingen combineren binnen één textuur
Het is belangrijk om te weten dat elke enkele textuur moet specificeren dat de gegevens worden opgeslagen als 64 of 128 bits per groep van 16 texels. Als 64-bits blokken - dat wil gezegd, DXT1 formatteren - worden gebruikt voor de textuur, is het mogelijk om de ondoorzichtige en 1-bits alfa-indelingen op basis van per blok binnen hetzelfde patroon te combineren. Met andere woorden, de vergelijking van de unsigned integer magnitude van color_0 en color_1 wordt uniek uitgevoerd voor elk blok van 16 texels.
Zodra de 128-bits blokken zijn gebruikt, moet het alfakanaal worden opgegeven in expliciete indeling (indeling DXT2 en DXT3) of geïnterpoleerde modus (indeling DXT4 en DXT5) voor het gehele patroon. Net als bij kleur kan de geïnterpoleerde modus (formaat DXT4 en DXT5) worden geselecteerd, dan kunnen acht geïnterpoleerde alfa's of zes geïnterpoleerde alfa's op blokbasis worden gebruikt. Opnieuw wordt de groottevergelijking van alpha_0 en alpha_1 uniek uitgevoerd op basis van blok-per-blok.
Direct3D biedt services voor het comprimeren van oppervlakken die worden gebruikt voor het beveiligen van 3D-modellen. Deze sectie bevat informatie over het maken en bewerken van de gegevens in een gecomprimeerd patroonoppervlak.
Informatie vindt u in de volgende onderwerpen.
- ondoorzichtige en 1-bits alfapatroon (Direct3D 9)
- patronen met alfakanalen (Direct3D 9)
- gecomprimeerde structuurindelingen (Direct3D 9)
- gecomprimeerde patronen (Direct3D 9) gebruiken
Verwante onderwerpen