Dela via


Manipulera resurser (Direct3D 9)

Ditt program manipulerar resurser för att återge en scen. Först måste ett program skapa en strukturresurs med någon av följande metoder:

En strukturresurs kan i stället skapas med någon av texturfunktionerna D3DXCreatexxx.

Texturobjekten som returneras av metoderna för att skapa textur är containrar för ytor eller volymer. dessa containrar kallas allmänt buffertar. Buffertarna som ägs av resursen ärver resursens användning, format och pool men har en egen typ. Mer information finns i Resursegenskaper (Direct3D 9).

Applikationen får åtkomst till de inneslutna ytorna för att läsa in grafik genom att anropa följande metoder. Mer information finns i Låsningsresurser (Direct3D 9).

Låsmetoderna tar argument som anger den inneslutna ytan av texturen, till exempel mipmap-underivån eller kubens sida, och returnerar pekare till bildpunkterna. Det typiska programmet använder aldrig ett ytobjekt direkt.

Skapa geometriorienterade resurser genom att anropa IDirect3DDevice9::CreateIndexBuffer eller IDirect3DDevice9::CreateVertexBuffer.

Lås och fyll i buffertresurserna genom att anropa antingen IDirect3DIndexBuffer9::Lås eller IDirect3DVertexBuffer9::Låsberoende på resursen.

För hanterade strukturresurser slutar processen för att skapa resurser här. För icke-hanterade strukturresurser befordrar ett program systemminnesresurser till enhetstillgängliga resurser (för maskinvaruacceleration) genom att anropa IDirect3DDevice9::UpdateTexture.

För att presentera bilder som återges från resurser behöver programmet även färg- och djupstencilbuffertar. För vanliga program ägs färgbufferten av enhetens växlingskedja, som är en samling backbuffertytor, och skapas implicit med enheten. Djupstencilytor kan skapas implicit eller explicit med hjälp av metoden IDirect3DDevice9::CreateDepthStencilSurface. Programmet associerar en enhet och dess djup och färgbuffert med ett anrop till IDirect3DDevice9::SetRenderTarget eller IDirect3DDevice9::SetDepthStencilSurface.

Mer information om hur du presenterar den slutliga bilden finns i Presenterar en scen (Direct3D 9).

Direct3D-resurser