操作資源 (Direct3D 9)
您的應用程式會操作資源來渲染場景。 首先,應用程式必須使用下列其中一種方法建立紋理資源:
- IDirect3DDevice9::CreateCubeTexture
- IDirect3DDevice9::CreateTexture
- IDirect3DDevice9::CreateVolumeTexture
可以改用其中一個 D3DXCreatexxx 貼圖函式來建立紋理資源。
紋理建立方法所傳回的紋理對像是表面或磁碟區的容器;這些容器通常稱為緩衝區。 資源所擁有的緩衝區會繼承資源的使用量、格式和集區,但有自己的類型。 如需詳細資訊,請參閱 資源屬性 (Direct3D 9)。
應用程式會藉由呼叫下列方法,來取得內含表面的存取權,以便載入藝術品。 如需詳細資訊,請參閱 鎖定資源 (Direct3D 9)。
lock 方法會採用參數來表示內含表面,例如紋理的 mipmap 子層級或立方體面,並傳回像素指標。 一般應用程式通常不會直接使用 surface 物件。
呼叫 IDirect3DDevice9::CreateIndexBuffer 或 IDirect3DDevice9::CreateVertexBuffer來建立幾何導向資源。
視資源而定,呼叫 IDirect3DIndexBuffer9::Lock 或 IDirect3DVertexBuffer9::Lock來鎖定和填滿緩衝區資源。
針對受控紋理資源,資源建立程式在這裡結束。 針對非受控紋理資源,應用程式會藉由呼叫 IDirect3DDevice9::UpdateTexture,將系統記憶體資源提升為可裝置存取的資源(適用於硬體加速)。
若要呈現從資源渲染的影像,應用程式也需要色彩和深度模板緩衝區。 對於一般應用程式,色彩緩衝區是由裝置的交換鏈所擁有,這是後緩衝表面的集合,而且會隱式創建於裝置裡。 深度樣板介面可以隱含建立,或使用 IDirect3DDevice9::CreateDepthStencilSurface 方法明確建立。 應用程式會將裝置及其深度和色彩緩衝區與呼叫 IDirect3Device9::SetRenderTarget 或 IDirect3DDevice9::SetDepthStencilSurface產生關聯。
如需呈現最終影像的詳細資訊,請參閱 呈現場景 (Direct3D 9)。
相關主題