#include <d3d9.h>
#pragma comment(lib, "d3d9.lib")
#define WINDOW_WIDTH 640
#define WINDOW_HEIGHT 480
PDIRECT3D9 g_D3D = nullptr; // D3D对象
PDIRECT3DDEVICE9 g_D3DDevice = nullptr; // D3D设备对象
bool InitializeD3D(HWND hWnd); // 初始化D3D
void ShutdownD3D(); // 退出窗口之前释放D3D对象和D3D设备对象
void RenderScene(); // 渲染场景
bool InitializeObjects();// 初始化3D图形对象
// 顶点数据
struct stD3DVertex
{
float x, y, z, rhw; // 坐标值(屏幕坐标) (左手坐标系) rhw 标志
unsigned long color; // 漫射光颜色
};
// 顶点缓存
PDIRECT3DVERTEXBUFFER9 g_VertexBuffer = nullptr;
// 顶点格式
#define D3DFVF_VERTEX (D3DFVF_XYZRHW | D3DFVF_DIFFUSE)
LRESULT WINAPI MsgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); // 窗口消息处理过程
void MyCreateWindow(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPSTR lpCmdLine, _In_ int nShowCmd); // 创建窗口
/************************************************************************/
/* Windows窗口程序入口函数 */
/************************************************************************/
int WINAPI WinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPSTR lpCmdLine, _In_ int nShowCmd)
{
MyCreateWindow(hInstance, hPrevInstance, lpCmdLine, nShowCmd);
return 0;
}
/************************************************************************/
/* 创建窗口 */
/************************************************************************/
void MyCreateWindow(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPSTR lpCmdLine, _In_ int nSho
DrictX 绘制线条
最新推荐文章于 2024-04-17 19:23:22 发布