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
#include #pragma comment(lib, "d3d9.lib")#define WINDOW_WIDTH 640#define WINDOW_HEIGHT 480PDIRECT3D9 g_D3D = nullptr; // D3D对象PDIRECT3DDEVICE9 g_D3DDevice = nullptr; // D3D设备对象bool Ini
首先是头文件,在那里面定义了3个函数,分别是初始化函数InitD3D(),消息循环函数EnterMsgLoop ,窗口过程函数WndProc()
其余的Release() Delete()都是以模板函数定义。
Release()为了方便释放接口,并设置为NULL,而Delete()则是为了方便删除,并清空指针。
注释很多(毕竟本弱是Win32的新手,很多概念都得靠网上百度才能理解)
//利用顶点缓冲区
绘制
三角形
const TCHAR szClassName[MAX_PATH] = TEXT("冒险岛class");
const TCHAR szTilteName[MAX_PATH] = TEXT("冒险岛");
LPDIRECT3D9 g_pD3D = NULL; //Direct3D对象
LPDIRECT3DDEVICE9 g_pd3dDevice = NULL; //Direct3
DirectX是由微软公司开发的一款多媒体应用程序接口,用于在Windows操作系统上的游戏和多媒体应用程序中提供高性能的图形和音频功能。
通常情况下,安装DirectX是为了确保系统能够正确地支持和运行使用DirectX开发的游戏和多媒体应用程序。然而,有时候我们需要在不安装DirectX的情况下进行游戏或者运行某些需要DirectX支持的应用程序。
为了实现DirectX免安装,我们可以下载并使用DirectX的离线安装包。这些离线安装包包含了完整的DirectX程序库和组件,可以直接在没有安装DirectX的系统上运行。
首先,我们需要在微软官方网站或者其他可靠的下载平台上找到适用于我们系统的DirectX离线安装包,然后将其下载到本地。
接下来,我们解压下载的离线安装包,并运行其中的安装程序。在安装过程中,我们可以选择安装DirectX的组件和功能,也可以按照安装程序的提示进行操作。
安装完成后,我们的系统就会拥有一个独立的DirectX环境,可以直接运行那些需要DirectX支持的游戏和应用程序,而无需事先安装DirectX。
需要注意的是,尽管DirectX离线安装包可以帮助我们在没有安装DirectX的情况下使用相关的游戏和应用程序,但由于其不会自动更新,我们仍然需要定期下载并安装最新版本的DirectX来确保获得最佳的性能和兼容性。
总之,通过下载和使用DirectX的离线安装包,我们可以在不安装DirectX的情况下实现对直接X支持的游戏和应用程序的运行。这是一种便捷的方式,但需要注意更新最新版本以获得更好的性能。