我的开发之路3

#include<d3d9.h>
#include
using namespace std;

#pragma comment(lib, “d3d9.lib”)
#pragma comment(lib, “d3dx9d.lib”)

#define WINDOW_CLASS “UGPDX”
#define WINDOW_NAME “Blank D3D Window”

// Function Prototypes…
bool InitializeD3D(HWND hWnd, bool fullscreen); //链接函数
bool set();
void RenderScene();
void Shutdown();

// Direct3D object and device.
LPDIRECT3D9 g_D3D = NULL;
LPDIRECT3DDEVICE9 g_D3DDevice = NULL;
LPDIRECT3DVERTEXBUFFER9 dd = 0;

struct vertex {
float x, y, z;

};
#define D3DFVF_VERTEX (D3DFVF_XYZ)

窗口

//开始创建顶点缓存
bool set() {

g_D3DDevice->CreateVertexBuffer(              //创立静态顶点缓存
    3 * sizeof(vertex),
    0,
    D3DFVF_XYZ,
    D3DPOOL_MANAGED,
    &dd,
    0
);

vertex* str;
dd->Lock(0, 0, (void**)&str, 0);
str[0] = vertex{ -1.0f, 0.0f, 2.0f };
str[1] = vertex{ 0.0f, 1.0f, 2.0f  };
str[3] = vertex{ 1.0f, 0.0f, 2.0f };

dd->Unlock();
return true;

}

void RenderScene()
{
// Clear the backbuffer.
g_D3DDevice->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0);

g_D3DDevice->BeginScene();             //渲染开始
g_D3DDevice->SetStreamSource(0, dd, 0, sizeof(vertex));
g_D3DDevice->SetFVF(D3DFVF_VERTEX);
g_D3DDevice->DrawPrimitive(D3DPT_TRIANGLELIST, 0,1);
g_D3DDevice->EndScene();
g_D3DDevice->Present(0, 0, 0, 0);

}

void Shutdown() { //清除
if (g_D3DDevice != NULL) g_D3DDevice->Release();
if (g_D3D != NULL) g_D3D->Release();
if (dd != NULL) dd->Release();

g_D3DDevice = NULL;
g_D3D = NULL;
dd = NULL;

}

不知道什么问题,三角形就是不出来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值