DX11Win32窗口实现

DX11Win32窗口实现


  • X_jun师兄的DX11初始化可能涉及到Win32 初始化的方法目前在这里不做过多描述。

    • 对此小萌新的我微微简单说一下,如果有不对的地方,请一定留言斧正!!!
    • 对于Direct3D初始化,博客已经写的很详细了,这里不多说


  • 下面都是代码了,因为笔记都注释在代码上了。
  • 1、Main.cpp源文件
//可以定义一个_In_的宏,这个宏什么都不做.定义在" no_sal2.h "文件中
//为了编译系统在分析代码时发现缺陷用的
//LPSTR -> char*
int WINAPI WinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE prevInstance,
	_In_ LPSTR cmdLine, _In_ int showCmd)
{
   
	//这些参数不使用
	//UNREFERENCED_PARAMETER避免编译器关于未引用参数的警告
	UNREFERENCED_PARAMETER(prevInstance);
	UNREFERENCED_PARAMETER(cmdLine);
	UNREFERENCED_PARAMETER(showCmd);

	// 允许在Debug版本进行运行时内存分配和泄漏检测
#if defined(DEBUG) | defined(_DEBUG)
	//   检索或修改的状态_crtDbgFlag标志来控制调试堆管理器 (仅限调试版本) 的分配行为
	//   通过设置位(打开),该应用程序可指示调试堆管理器执行特殊的调试操作,包括在应用
	//程序退出时检查内存泄露并报告是否找到任何内存泄露、通过指定已释放的内存块应保留
	//在堆的链接列表中来模拟内存不足情况,以及通过在每次分配请求时检查每个内存块来验证该堆的完整性。
	_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
#endif

    //传入窗口的句柄
	GameApp theApp(hInstance);

	if (!theApp.Init())
		return 0;

	return theApp.Run();
}
  • 2、d3dApp.cpp的初始化数据了(d3dApp.h中所有都有对应的解释)
//多继承,调用构造函数
GameApp::GameApp(HINSTANCE hInstance): D3DApp(hInstance)
{
   
}



//多继承调用(函数&类)
//字符串加 L 是通知编译器采用 UNICODE编码(双字节),防止中文乱码
//用wchar_t定义,加 L
D3DApp::D3DApp(HINSTANCE hInstance)
	: m_hAppInst(hInstance),
	m_MainWndCaption(L"DirectX11 Initialization"),
	m_ClientWidth(1280),
	m_ClientHeight(720),
	m_hMainWnd(nullptr),
	m_AppPaused(false),
	m_Minimized(false),
	m_Maximized(false),
	m_Resizing(false),
	m_Enable4xMsaa(true),
	m_4xMsaaQuality(0),
	m_pd3dDevice(nullptr),
	m_pd3dImmediateContext(nullptr),
	m_pSwapChain(nullptr),
	m_pDepthStencilBuffer(nullptr),
	m_pRenderTargetView(nullptr),
	m_pDepthStencilView(nullptr)
{
   
	ZeroMemory
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值