Delen via


Structuurbronnen (Direct3D 9)

Bitmapresources worden geïmplementeerd in de interface IDirect3DTexture9. Als u een aanwijzer naar een patrooninterface wilt verkrijgen, roept u de methode IDirect3DDevice9::CreateTexture methode of een van de volgende D3DX-functies aan.

In het volgende codevoorbeeld wordt D3DXCreateTextureFromFile- gebruikt om een patroon uit Tiger.bmpte laden.

// The following code example assumes that D3dDevice
// is a valid pointer to an IDirect3DDevice9 interface.

LPDIRECT3DTEXTURE9 pTexture;

D3DXCreateTextureFromFile( d3dDevice, "tiger.bmp", &pTexture);

De eerste parameter die D3DXCreateTextureFromFile accepteert, is een aanwijzer naar een IDirect3DDevice9 interface. De tweede parameter vertelt Direct3D de naam van het bestand waaruit het patroon moet worden geladen. De derde parameter neemt het adres van een aanwijzer naar een IDirect3DTexture9 interface, die het gemaakte bitmapobject vertegenwoordigt.

Weergeven met bitmapbronnen

Direct3D ondersteunt meerdere textuurmixing door het concept van patroonfasen. Elke patroonfase bevat een patroon en bewerkingen die op het patroon kunnen worden uitgevoerd. De patronen in de patroonfasen vormen de set huidige patronen. Zie Texture Blending (Direct3D 9)voor meer informatie. De status van elke textuur wordt ingekapseld in de structuurfase.

In een C++-toepassing moet de status van elk patroon worden ingesteld met de methode IDirect3DDevice9::SetTextureStageState. Geef het fasenummer (0-7) door als de waarde van de eerste parameter. Stel de waarde van de tweede parameter in op een lid van het D3DTEXTURESTAGESTATETYPE geïnventariseerd type. De laatste parameter is de statuswaarde voor de specifieke textuurstatus.

Met behulp van interfacepointers voor patronen kan uw toepassing een mix van maximaal acht patronen weergeven. Stel de huidige patronen in door de methode IDirect3DDevice9::SetTexture aan te roepen. Direct3D combineert alle huidige patronen op de primitieven die het weergeeft.

Notitie

Met de methode IDirect3DDevice9::SetTexture wordt het verwijzingsaantal van het patroonoppervlak dat wordt toegewezen, verhoogd. Wanneer het patroon niet meer nodig is, moet u het patroon in de juiste fase instellen op NULL-. Als u dit niet doet, wordt het oppervlak niet losgelaten, wat resulteert in een geheugenlek.

 

Uw toepassing kan de patroonterugloopstatus voor de huidige patronen instellen door de methode IDirect3DDevice9::SetRenderState aan te roepen. Geef een waarde van D3DRS_WRAP0 door D3DRS_WRAP7 door als de waarde van de eerste parameter en gebruik een combinatie van de D3DWRAPCOORD_0, D3DWRAPCOORD_1, D3DWRAPCOORD_2 en D3DWRAPCOORD_3 vlaggen om wrapping in de u-, v- of w-routebeschrijving mogelijk te maken.

Uw toepassing kan ook de statussen voor het filteren van patronen en patronen instellen. Zie Filterpatroon (Direct3D 9).

Direct3D-patronen