Direct3D初始化代码含义
// Desc: 初始化Direct3D //----------------------------------------------------------------------------- HRESULT InitD3D( HWND hWnd ) {//创建Direct3D对象, 该对象用来创建Direct3D设备对象if( NULL == ( g_pD3D = Direct3DCreate9( D3D_SDK_VERSION ) ) )return E_FAIL;//设置D3DPRESENT_PARAMETERS结构, 准备创建Direct3D设备对象 D3DPRESENT_PARAMETERS d3dpp; ZeroMemory( &d3dpp, sizeof(d3dpp) );d3dpp.Windowed = TRUE;d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;//创建Direct3D设备对象if( FAILED( g_pD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,D3DCREATE_SOFTWARE_VERTEXPROCESSING,&d3dpp, &g_pd3dDevice ) ) ){return E_FAIL;}return S_OK; }
HRESULT :函数返回值。如果这个函数是执行完返回的话将包含具有实际意义的数据,如果立即返回则包含状态信息--发送成功与否,并不能说明执行的如何。
return E_FAIL;
struct D3DPRESENT_PARAMETERS{
UINT BackBufferWidth;//指定后台缓冲区的宽度
UINT BackBufferHeight;//指定后台缓冲区高度
D3DFORMAT BackBufferFormat;//指定后台缓冲区的像素格式,设置为D3DFMT_UNKNOWN时,后台缓冲区与当前显卡的显示像素格式相同
UINT BackBufferCount;//指定后台缓冲区的数量。该值可以为0、1、2、3,其中0和1时都表示创建一个后台缓冲区
D3DMULTISAMPLE_TYPE MultiSampleType;//指定多重采样类型,用于图形反锯齿
DWORD MultiSampleQuality;
D3DSWAPEFFECT SwapEffect;//指定系统如何将后台缓冲区的内容复制到前台缓冲区,该成员是D3DSWAPEFFECT枚举类型
HWND hDeviceWindow;//指定图形绘制窗口
BOOL Windowed;//标识图形以窗口方式还全屏方式显示
BOOL EnableAutoDepthStencil;//如果要使用Z缓冲,则把它设为TRUE
D3DFORMAT AutoDepthStencilFormat;//如果不使用深度缓冲,那么这个参数将没有用。如果启动了深度缓冲,那么这个参数将为深度缓冲设定缓冲格式
DWORD Flags;//可以设置为0或D3DPRESENTFLAG_LOCKABLE_BACKBUFFER
UINT FullScreen_RefreshRateInHz;//指定显示适配器刷新屏幕的速率。以窗口显示设置为0;以全屏显示,取IDirect3D9::EnumAdapterModes()返回值
UINT PresentationInterval;//指定后台缓存与前天缓存的最大交换频率
};
ZeroMemory(PVOID Destination,SIZE_T Length)函数:ZeroMemory宏用0来填充一块内存区域。参数有两个,
转载于:https://www.cnblogs.com/xiguapi/p/4135251.html
Direct3D初始化代码含义相关推荐
- python代码大全表解释-【初学】Python异常代码含义对照表
原标题:[初学]Python异常代码含义对照表 Python常见的异常提示及含义对照表如下: 异常名称 描述 BaseException 所有异常的基类 SystemExit 解释器请求退出 Keyb ...
- 计算机主板检测卡50,主板诊断卡怎么使用 主板诊断卡代码含义及处理方法
对于主板诊断卡,相信不少电脑爱好者.电脑技术员都不会陌生,它是维修电脑主机必备检测工具之一.不过还是有一些朋友对主板诊断卡一知半解,甚至对主板诊断卡一无所知.主板诊断卡怎么使用?其实主要难点就在于诊断 ...
- DirectX11 Direct3D初始化
Direct3D初始化 1. Direct3D初始化步骤 下面将讲解如何初始化Direct3D.我们将Direct3D的初始化过程分为如下几个步骤: 1.使用D3D11CreateDevice方法创建 ...
- 【Kotlin】Kotlin 构造函数 ( 主构造函数 | 主构造函数声明属性 | init 初始化代码块 | 次构造函数 | 构造函数委托 | 调用构造函数创建实例对象 )
文章目录 I . 主构造函数 II . 主构造函数声明属性 III . init 初始化代码块 IV . 主构造函数参数 和 成员变量访问方式 V . 主构造函数 可见性 设置 VI . 次构造函数 ...
- flink sql的datastream与dataset初始化代码汇总
flink sql 数据类型 初始化代码汇总 dataset ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironme ...
- Spring Environment仅用于初始化代码
从3.1版开始, Spring框架提供了对几种不同来源的抽象,通过它们您可以轻松地配置应用程序: Environment . 在这篇文章中,我描述了一个微基准测试,我可以证明该基准测试是一个方便的AP ...
- linux内存映射起始地址,内存初始化代码分析(三):创建系统内存地址映射
内存初始化代码分析(三):创建系统内存地址映射 作者:linuxer 发布于:2016-11-24 12:08 分类:内存管理 一.前言 经过内存初始化代码分析(一)和内存初始化代码分析(二)的过渡, ...
- ARM Uboot经历——Uboot初始化代码解析
Uboot初始化代码主要是在Uboot重定位之前的一系列处理,起源于start.s文件,涉及crt0.s和board.c等文件,会完成最系统环境最初始的设置和结构体赋值. reset的相关处理 从_s ...
- ARM固件开发(LPC1768启动初始化代码)
ARM固件开发(LPC1768启动初始化代码) 一.复位 ARM启动中需要配置上电复位功能,因为这样才能确保上电之后程序处于初始状态而并非程序指针未知.通常启动代码编译器自带,而程序入口基本上都是以复 ...
最新文章
- 运维岗位技能风向标!
- 谷歌浏览器怎么重发请求_chrome 浏览器的预提取资源机制导致的一个请求发送两次的问题以及ClientAbortException异常...
- python获取get请求的耗时时间_突破python爬取极限,超牛逼的异步协程爬虫
- NOP (code)_NOP指令作用及解析
- 国产嵌入式操作系统发展思考
- LeetCode 1974. 使用特殊打字机键入单词的最少时间
- jQuery学习笔记03
- 星期天写了点蛋疼的东西(3)
- Xcode中导入文件报错
- matlab 定义离散函数,matlab离散点拟合函数
- python绘制拟合曲线与样本点_python 拟合曲线并求参
- 7篇ICLR论文,遍览联邦学习最新研究进展
- mac关于 E45: ‘readonly‘ option is set (add ! to override)
- a5m2使用方法 mysql_反転
- 计算机视觉入门CV之街道字符识别—01赛题理解
- 一文搞懂css 2D动画效果
- 关于AndroBench在Android 10以后性能衰减的问题分析
- 给toB创业程序员的建议
- 从FPGA到ACAP,“万能芯片”蝶变转型
- 《我和我的祖国》之《夺冠》:所有人都在欢呼,只有他在哭......
热门文章
- 七天学习计划_c#_[1]泛型类(还有六天,明天继续写!)
- c语言位段sizeof,C语言位段的介绍
- 中修改环境变量_嵌入式 Linux下永久生效环境变量bashrc
- python回溯算法_什么是回溯法,Python解法交流?
- 服务器接收ios图片无法显示,IOS下图片不能显示问题的解决办法
- win10创建新的计算机用户名和密码忘了,Win10 2004中要使用本计算机用户必须输入用户名和密码选项不见了如何恢复?...
- oracle cbo 查询展开,Oracle CBO几种基本的查询转换详解
- C++知识点47——类继承中的类型转换与访问权限控制(下)
- webpack 采坑(CleanWebpackPlugin 插件报错: CleanWebpackPlugin is not a constructor ;)
- Google Guava 概要