d3d程序调试方法——一个简单的d3d程序

本文介绍了如何通过安装DirectX SDK,创建C++控制台应用,配置包含目录、库目录,修改字符集,添加依赖项等步骤,调试一个基于DirectX的3D程序。详细讲解了每个步骤的具体操作,并展示了代码片段。
摘要由CSDN通过智能技术生成

1、安装directx sdk

安装包:
在这里插入图片描述
解压:
在这里插入图片描述

2、创建C++控制台应用程序

在这里插入图片描述

3、导入头文件和源文件

在这里插入图片描述

注:在x86解决方案下进行调试!!!!!

4、添加包含目录和库目录

配置属性——VC++目录

在这里插入图片描述

包含目录:D:\Software Install\D3D_SDK\Include(根据自己解压的文件夹目录,选择Include文件夹路径)
在这里插入图片描述
库目录:D:\Software Install\D3D_SDK\Lib\x86(选择x86文件夹路径)
在这里插入图片描述

5、修改字符集

配置属性——高级——字符集
在这里插入图片描述
在这里插入图片描述

6、添加依赖项

配置属性——链接器——输入——附加依赖项
d3d9.lib
d3dx9d.lib
d3dx10d.lib
dxerr.lib
dxguid.lib
winmm.lib
comctl32.lib
在这里插入图片描述

7、将系统更改为窗口

配置属性——链接器——系统——子系统
在这里插入图片描述

8、结果展示

在这里插入图片描述
在这里插入图片描述

9、代码

(1)d3dUtility.h文件

//
// 
// File: d3dUtility.h
// 
// Author: Frank Luna (C) All Rights Reserved
//
// System: AMD Athlon 1800+ XP, 512 DDR, Geforce 3, Windows XP, MSVC++ 7.0 
//
// Desc: Provides utility functions for simplifying common tasks.
//          
//

#ifndef __d3dUtilityH__
#define __d3dUtilityH__

#include <d3dx9.h>
#include <string>

namespace d3d
{
   
	bool InitD3D(
		HINSTANCE hInstance,       // [in] Application instance.
		int width, int height,     // [in] Backbuffer dimensions.
		bool windowed,             // [in] Windowed (true)or full screen (false).
		D3DDEVTYPE deviceType,     // [in] HAL or REF
		IDirect3DDevice9** device);// [out]The created device.

	int EnterMsgLoop( 
		bool (*ptr_display)(float timeDelta));

	LRESULT CALLBACK WndProc(
		HWND hwnd,
		UINT msg, 
		WPARAM wParam,
		LPARAM lParam);

	template<class T> void Release(T t)
	{
   
		if( t )
		{
   
			t->Release();
			t = 0;
		}
	}
		
	template<class T> void Delete(T t)
	{
   
		if( t )
		{
   
			delete t;
			t = 0;
		}
	}
}

#endif // __d3dUtilityH__

(2)d3dUtility.cpp文件

//
// 
// File: d3dUtility.cpp
// 
// Author: Frank Luna (C) All Rights Reserved
//
// System: AMD Athlon 1800+ XP, 512 DDR, Geforce 3, Windows XP, MSVC++ 7.0 
//
// Desc: Provides utility functions for simplifying common tasks.
//          
//

#include "d3dUtility.h"

bool d3d::InitD3D(
	HINSTANCE hInstance,
	int width, int height,
	bool windowed,
	D3DDEVTYPE deviceType,
	IDirect3DDevice9** device)
{
   
	//
	
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值