公司网站后台管理教程,福州排名seo公司,手机wordpress的文章分类,软件技术发展前景与趋势现在我已经到哪了? 读书时#xff0c;尤其是技术知识书籍#xff0c; 我一般会担忧自己是否陷得太深#xff0c; 细节关注得太多#xff0c; 而忘了整体的过程#xff1b; 一直以来对Direct3D 很畏惧#xff0c; 因为太多函数和细节#xff1b;现在我必须暂缓下#x…现在我已经到哪了? 读书时尤其是技术知识书籍 我一般会担忧自己是否陷得太深 细节关注得太多 而忘了整体的过程 一直以来对Direct3D 很畏惧 因为太多函数和细节现在我必须暂缓下 看看自己已经做了什么 还差什么 下一步要如何规划。如下图 已经仅仅完成了定义 能够自动进行初始化工作的 基类, 但是没能够 使用, 需要用子类实现 update(float) 和 render() : -- BlankDemo.h #ifndef _BLANK_DEMO_H_
#define _BLANK_DEMO_H_#include Dx11DemoBase.hclass BlankDemo : public Dx11DemoBase
{
public:BlankDemo();virtual ~BlankDemo();bool LoadContent();void UnloadContent();void Update( float dt);void Render();
};#endif -- BlankDemo.cpp #include BlankDemo.hBlankDemo::BlankDemo()
{}BlankDemo::~BlankDemo()
{}bool BlankDemo::LoadContent()
{return true;
}void BlankDemo::UnloadContent()
{}void BlankDemo::Update( float dt)
{}void BlankDemo::Render()
{if( d3dContext_ 0)return ; float clearColor[ 4] { 0.0f, 0.0f, 0.25f, 1.0f };d3dContext_-ClearRenderTargetView( backBufferTarget_, clearColor);swapChain_-Present( 0, 0);
} 主要在 BlankDemo::Render() 内进行 清屏 和 显示. 到目前为止共完成了两件事 第一 Windows 编程 提供了简易 封装 《Windows 窗体简易封装类 【已实现】【附带源码】》 第二 提供了 DirectX11 的 简易框架 《Dx11DemoBase 基类(一)》《Dx11DemoBase 基类(二) 初始化 DirectX11 的 4个基本步骤》 下面将这两部分柔和 使DirectX11 编程变得简易 大致测试demo 将如 #include Windows.h
#include evlWin.h //windows 窗口封装
#include BlankDemo.h //DirectX11 封装int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE prevInstance, PSTR cmdLine, int cmdShow)
{// 创建窗体EvlWin *eWin new EvlWin( hInstance, prevInstance, cmdLine, cmdShow, NULL, NULL);// 显示窗体eWin-show();// DirectX11 处理对象Dx11DemoBase *demo new BlankDemo();// DirectX11 相关初始化bool result demo-Initialize( hInstance, eWin-m_hwnd);if( result false)return -1;//不使用 eWin 事件循环//eWin-loopMessage();// 重写 windows 事件循环, 融入 DirectX11 MSG msg;while( TRUE ){if( PeekMessage( msg, NULL, 0, 0, PM_REMOVE)){if( msg.message WM_QUIT)break;TranslateMessage( msg);DispatchMessage( msg);}else{demo-Update( 0.0f);demo-Render();}}// 释放资源demo-Shutdown();delete demo;demo NULL;return static_cast int( 0);
} 这是 源代码 : test_BlankDemo.rar, 包含 : Dx11DemoBase.cpp/.h DirectX11基类
BlankDemo.cpp/.h 测试Dx11DemoBase 的子类
evlWin.cpp/.h windows窗体处理封装类
test_BlankDemo.cpp 主入口 最终效果就是显示一个 窗体( 相当 简陋, 此版本的demo 还有很多地方需要进行优化, 但考虑到自己是 刚学, 尽量还是不要钻太深, 先将过程走完先, 对整体有个把握.)转载于:https://www.cnblogs.com/Wilson-Loo/archive/2012/11/30/2791874.html