Direct3D 9學習筆記 3 基本頂點繪製

2021-09-08 08:52:56 字數 1582 閱讀 8261

);如下頂點資料結構

struct vertex

vertex(float x, float y, float z)

float _x, _y, _z;

static const dword fvf;

};

然後建立乙個頂點快取

device->createvertexbuffer(

3 * sizeof(vertex), // size in bytes

d3dusage_writeonly, // flags

vertex::fvf, // vertex format

d3dpool_managed, // managed memory pool

&********, // return create vertex buffer

0); // not used - set to 0

//

// fill the buffers with the ******** data.

//vertex* vertices;

********->lock(0, 0, (void**)&vertices, 0);

vertices[0] = vertex(-1.0f, 0.0f, 2.0f);

vertices[1] = vertex( 0.0f, 1.0f, 2.0f);

vertices[2] = vertex( 1.0f, 0.0f, 2.0f);

********->unlock();

/* vertex buffer description */

typedef struct _d3dvertexbuffer_desc

d3dvertexbuffer_desc;

d3dvertexbuffer_desc desc={};

********->getdesc(&desc);

使用idirect3ddevice9介面的setrenderstate方法設定

device->setrenderstate(d3drs_fillmode, d3dfill_wireframe);

比如頂點的繪製方法可以是點或填充,上面d3dfill_wireframe是以連線點來繪製

六.

Direct3D9 建立裝置

在d3d9中,建立裝置前要先呼叫direct3dcreate9建立d3d9物件,再呼叫idirect3d9 createdevice建立裝置物件。應用程式可以對硬體查詢來檢測硬體支援的d3d裝置型別。本節講述了列舉顯示介面卡和選擇direct3d裝置等內容。應用程式必須執行一系列任務來選擇適當的d3...

Direct3D9的擴充套件紋理格式

klayge遊戲引擎 在winxp下,即使gpu支援d3d10 也只能用d3d9的api。但實際上各個廠商都對d3d9做了一些擴充套件,把部分d3d10 的特性暴 露給了d3d9 api。以下是一些特殊的紋理格式,通過fourcc的方式來使用。通過checkdeviceformat可以檢測是否支援該...

Direct3D入門 一 配置Direct3D環境

b url 先鋒隊 北京貝武易科技公司 b 我們要編寫directx direct3d 程式,需要先安裝兩個檔案 directx sdk directx開發包 這個開發包大,大概500兆 url 執行環境 這個檔案小,大概30 40兆 url 很多初學者會混淆了這個兩個directx有什麼區別。乙個...