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.
Direct3D kan in één pas zo veel als acht patronen op primitieven mengen. Het gebruik van meerdere textuurmixen kan de framesnelheid van een Direct3D-toepassing sterk verhogen. Een toepassing maakt gebruik van meerdere textuurmixing om patronen, schaduwen, speculatieve verlichting, diffuse verlichting en andere speciale effecten in één pas toe te passen.
Als u patroonmixen wilt gebruiken, moet uw toepassing eerst controleren of de hardware van de gebruiker dit ondersteunt. Deze informatie vindt u in het lid TextureCaps van de D3DCAPS9 structuur. Zie IDirect3DDevice9::GetDeviceCapsvoor meer informatie over hoe je de hardware van de gebruiker kunt bevragen naar de mogelijkheden voor textuurmenging.
Textuurfasen en de textuurmeng-cascadering
Direct3D biedt ondersteuning voor meervoudige textuurmenging in één keer door het gebruik van textuurfasen. Een patroonfase heeft twee argumenten en voert er een mengbewerking op uit, waarbij het resultaat wordt doorgegeven voor verdere verwerking of voor rasterisatie. U kunt een textuurstadium visualiseren, zoals weergegeven in het volgende diagram.
Zoals het voorgaande diagram laat zien, mengen textuurstadia twee argumenten met behulp van een opgegeven operator. Veelvoorkomende bewerkingen zijn eenvoudige modulatie of toevoeging van de kleur- of alfaonderdelen van de argumenten, maar meer dan twee dozijn bewerkingen worden ondersteund. De argumenten voor een fase kunnen een gekoppelde textuur zijn, de geïtereerde kleur of alfa (geïtereerd tijdens Gouraud-arcering), willekeurige kleur en alfa, of het resultaat van de vorige textuurfase. Zie Texture Blending Operations and Arguments (Direct3D 9)voor meer informatie.
Notitie
Direct3D onderscheidt kleurmenging van alfamenging. Toepassingen stellen mengbewerkingen en argumenten voor kleur en alfa afzonderlijk in en de resultaten van deze instellingen zijn onafhankelijk van elkaar.
De combinatie van argumenten en bewerkingen die door meerdere mengfasen worden gebruikt, definieert een eenvoudige stroomgebaseerde mixtaal. De resultaten van de ene fase stromen omlaag naar een andere fase, van die fase naar de volgende, enzovoort. Het concept van resultaten die van fase tot fase voortvloeien om uiteindelijk te worden gerasterd op een veelhoek, wordt vaak de textuurmengingcascade genoemd. Het volgende diagram toont hoe afzonderlijke textuurfasen de textuurmengcascade vormen.
Elke fase in een apparaat heeft een index op basis van nul. Direct3D biedt maximaal acht mengfasen, hoewel u altijd de mogelijkheden van het apparaat moet controleren om te bepalen hoeveel fasen de huidige hardware ondersteunt. De eerste mengfase bevindt zich bij index 0, de tweede bevindt zich op 1, enzovoort, tot index 7. Het systeem combineert fasen in toenemende indexvolgorde.
Gebruik alleen het aantal fasen dat u nodig hebt; de ongebruikte mengfasen zijn standaard uitgeschakeld. Dus als uw toepassing alleen de eerste twee fasen gebruikt, hoeft deze alleen bewerkingen en argumenten in te stellen voor fase 0 en 1. Het systeem combineert de twee fasen en negeert de uitgeschakelde fasen.
Notitie
Als uw toepassing verschilt van het aantal fasen dat wordt gebruikt voor verschillende situaties, zoals vier fasen voor sommige objecten en slechts twee voor anderen, hoeft u niet expliciet alle eerder gebruikte fasen uit te schakelen. Een optie is om de kleurbewerking voor de eerste ongebruikte fase uit te schakelen, waarna alle fasen met een hogere index niet worden toegepast. Een andere optie is om textuurmapping helemaal uit te schakelen door de kleurbewerking voor de eerste textuurfase (fase 0) in te stellen op D3DTOP_DISABLE. Een derde optie is wanneer een textuurfase D3DTSS_COLORARG1 gelijk is aan D3DTA_TEXTURE en de textuuraanwijzer voor de fase is NULL,, deze fase en alle fasen daarna worden niet verwerkt.
Aanvullende informatie vindt u in de volgende onderwerpen.
- textuurmengingsbewerkingen en -argumenten (Direct3D 9)
- Het toewijzen van de huidige texturen (Direct3D 9)
- Het maken van blendingfasen (Direct3D 9)
- Alpha Texture Blending (Direct3D 9)
- Multipass Texture Blending (Direct3D 9)
- lichttoewijzing met texturen (Direct3D 9)
Verwante onderwerpen