对于我这种今天才刚开学学习DX的初学者来说,初始化Direct3D真是件让人头疼的事。不过好歹对照龙书弄出来了。。

初始化Direct3D的步骤:

1、获取IDirect3D9的指针

2、查检设备性能。判断主显卡是否支持硬件顶点运算

3、初始化D3DPRESENT_PARAMETERS结构体的一个实例

4、创建IDirect3DDevice9对像 (它代表了我们用来显示3D图形的物理设备对像)

IDirect3DDevice9 *pDevice = NULL;
// Step 1:得到指向IDirect3D9的指针 IDirect3D9* d3d9 = 0;d3d9 = Direct3DCreate9(D3D_SDK_VERSION);if( !d3d9 ){::MessageBox(0, "Direct3DCreate9() - FAILED", 0, 0);return false;}// Step 2:检查硬件性能D3DCAPS9 caps;d3d9->GetDeviceCaps(D3DADAPTER_DEFAULT, deviceType, &caps);int vp = 0;if( caps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT )vp = D3DCREATE_HARDWARE_VERTEXPROCESSING;elsevp = D3DCREATE_SOFTWARE_VERTEXPROCESSING;// Step 3:填充结构体 D3DPRESENT_PARAMETERS d3dpp;d3dpp.BackBufferWidth            = width;d3dpp.BackBufferHeight           = height;d3dpp.BackBufferFormat           = D3DFMT_A8R8G8B8;d3dpp.BackBufferCount            = 1;d3dpp.MultiSampleType            = D3DMULTISAMPLE_NONE;d3dpp.MultiSampleQuality         = 0;d3dpp.SwapEffect                 = D3DSWAPEFFECT_DISCARD; d3dpp.hDeviceWindow              = hwnd;d3dpp.Windowed                   = windowed;d3dpp.EnableAutoDepthStencil     = true; d3dpp.AutoDepthStencilFormat     = D3DFMT_D24S8;d3dpp.Flags                      = 0;d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;d3dpp.PresentationInterval       = D3DPRESENT_INTERVAL_IMMEDIATE;// Step 4:创建设备对象hr = d3d9->CreateDevice(D3DADAPTER_DEFAULT, // primary adapterdeviceType,         // device typehwnd,               // window associated with devicevp,                 // vertex processing&d3dpp,             // present parametersdevice);            // return created device
d3d9->Release(); 

转载于:https://www.cnblogs.com/whongfei/archive/2012/08/26/5247032.html

Direct3D的初始化相关推荐

  1. DirectX12 3D游戏开发实践(龙书)第四章 Direct3D的初始化

    目录 Direct3D的初始化 预备知识 Direct3D概述 组件对象模型 纹理格式(Textures Formats) 交换链和页面翻转 深度缓冲 资源与描述符 多重采样技术的原理 利用Direc ...

  2. Direct3D 12入门教程之 ---- Direct3D 12初始化流程

    注:以下内容参考自 书籍:<DirectX 12 3D>游戏开发实战, 微软官方的 DirectX样例程序:DirectX-Graphics-Samples, 参见github链接:htt ...

  3. dx12 龙书第四章学习笔记 -- Direct3D的初始化

    1.预备知识: ①Direct3D 12概述: 通过Direct3D这种底层图形应用程序编程接口(Application Programming Interface, API),即可在应用程序中对图形 ...

  4. Direct3D初始化代码含义

    // Desc: 初始化Direct3D //----------------------------------------------------------------------------- ...

  5. 《DirectX 9.0 3D游戏开发编程基础》 第一章 初始化Direct3D 读书笔记

    REF设备 参考光栅设备,他能以软件计算方式完全支持Direct3D Api.借助Ref设备,可以在代码中使用那些不为当前硬件所支持的特性,并对这此特性进行测试. D3DDEVTYPE 在程序代码中, ...

  6. DirectX9.03D Direct3D初始化

    Direct3D 的初始化分解为如下步骤: 1 获取接口 IDrirect3D8的指针. 2 检查设备性能(D3DCAPS9), 判断主显(primaty display adapter or pri ...

  7. 初始化Direct3D

    一.Direct3D概述     DirectX是微软公司开发的一套功能丰富的底层API,其功能涵盖了:            2D/3D图形加速的支持.            各种输入设备的控制. ...

  8. DirectX11 Direct3D初始化

    Direct3D初始化 1. Direct3D初始化步骤 下面将讲解如何初始化Direct3D.我们将Direct3D的初始化过程分为如下几个步骤: 1.使用D3D11CreateDevice方法创建 ...

  9. Direct3D 初始化

    Direct3D是一套底层图形API,借助API,我们能够利用硬件加速功能绘制3D场景,Direct3D 可以被视为应用程序与图形设备交互式的中介,它们之前的关系可以描述如下 应用程序--->D ...

最新文章

  1. 英特尔支持员工自带设备办公
  2. python 格式化字符串_Python格式化字符串常用操作
  3. C语言指针定义变量方式
  4. [Java基础]标准输入输出流
  5. AtCoder Beginner Contest 234
  6. mysql主从复制 火墙_MySQL高级知识(十五)——主从复制
  7. Android数据存储之SQLite数据库存储
  8. Exploratory Data Analysis可视化分析美国天气
  9. 数值策划科普-------阈值
  10. 《Robot Framework自动化测试修炼宝典》道长
  11. html5制作人物动作,如何用3DMAX制作多动作人物
  12. android人脸身份认证,Android通过支付宝进行刷脸认证
  13. win10在电脑中添加新用户
  14. 在线制图工具团队版介绍
  15. 2021-2027全球与中国超声波焊接头市场现状及未来发展趋势
  16. 这几种常见的伪学习,看下你是不是也中招了?
  17. html制作svg工具,使用Adobe Illustrator制作SVG的操作流程
  18. 手把手教你采集京东销售数据并做简单的数据分析和可视化
  19. 基于微信预约挂号小程序毕业设计毕设作品(8)毕业设计论文模板
  20. 服务器修改远程链接端口号,怎么修改服务器的远程连接端口号

热门文章

  1. ❤️今天,该让 python 上个热门❤️
  2. 自动化测试工具Selenium
  3. D-S证据理论基本概念
  4. data 谷歌浏览器更改user 路径_chrome修改默认用户目录
  5. primal and dual linear problem
  6. DaNet: Decompose-and-aggregate Network for 3D Human Shape and Pose Estimation
  7. differential forms
  8. 快排、归并、堆排序运用场景
  9. GoogleNet_V3结构(论文复现)
  10. redhat rpm 卸载mysql_Linux下卸载MySQL rpm包出现error: specifies multiple packages 解决