#include <d3d9.h>
//附加依赖项 d3d9.lib
//利用顶点缓冲区绘制三角形
const TCHAR szClassName[MAX_PATH] = TEXT("冒险岛class");
const TCHAR szTilteName[MAX_PATH] = TEXT("冒险岛");
LPDIRECT3D9 g_pD3D = NULL; //Direct3D对象
LPDIRECT3DDEVICE9 g_pd3dDevice = NULL; //Direct3D设备对象
LPDIRECT3DVERTEXBUFFER9 g_pVB = NULL; //顶点缓冲区对象
struct CUSTOMVERTEX
{
FLOAT x, y,z, rhw;
//
DWORD color;
};
#define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZRHW| D3DFVF_DIFFUSE)
//顶点格式
HRESULT Init3D(HWND hwnd)
{
if(NULL ==(g_pD3D = Direct3DCreate9(D3D_SDK_VERSION)))
return E_FAIL;
D3DPRESENT_PARAMETERS d3dpp;
ZeroMemory(&d3dpp, sizeof(d3dpp));
d3dpp.Windowed = TRUE; //是否窗口化
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;
if (FAILED(g_pD3D->CreateDevice(D3DADAPTER_DEFAULT,
D3DDEVTYPE_HAL, hwnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING,
&d3dpp, &g_pd3dDevice)))
return E_FAIL;
return S_OK;
}
HRESULT InitVB()
{
CUSTOMVERTEX vertices[]
D3D9利用顶点缓冲区绘制三角形
最新推荐文章于 2022-12-06 17:30:29 发布
这篇博客介绍了如何利用Direct3D 9(D3D9)的顶点缓冲区技术来绘制三角形,通过代码示例展示了具体的实现过程,并附带有实际效果展示。
摘要由CSDN通过智能技术生成