DXUT框架剖析系列文章(原创:天行健 君子当自强而不息)
本文版权归博客园 lovedday 所有,转载请详细标明原创作者及原文出处,以示尊重!
原创作者: lovedday
原创博客:天行健 君子当自强而不息
原文出处:DXUT框架剖析
DXUTPause:将框架的内部计数器和(或)渲染过程设为暂停状态。
DXUTRenderingPaused:检查当前设备的渲染状态是否处在暂停状态。
DXUTIsTimePaused:检查当前设备的计时器是否处在暂停状态。
DXUTGetFPS: 获取当前每秒提交的帧数。
DXUTGetFrameStats:获取一个指向字符串的指针,该字符串包括每秒帧数、分辨率、后台缓冲区格式、深度缓冲区格式。
DXUTGetDeviceStats:获取一个指向字符串的指针,该字符串包括当前设备类型、顶点运算行为和设备名。
DXUTResetFrameworkState: 将框架状态重置为初始默认状态,之前设置的框架状态改变将失效。
DXUTShutdown: 触发程序终止和清空框架。
DXUTGetExitCode: 获取框架的退出代码。
当开发Direct3D应用程序时,应该检查所有的API调用是否成功,如果出现一个没有预测到的失败调用,应用程序应立即给出通知或记录该错误。使用这种方法,开发人员能很快发现哪些API函数的调用是不正确的。一个正确调用Direct3D API函数的应用程序应能安全地忽略大多数Direct3D API函数的失败调用,除了一些关键性的API函数,如Present()或TestCooperativeLevel(),这些函数返回的错误应用程序不能忽略。
为使用DXUT框架的消息循环,可以调用DXUTMainLoop()函数.
回调函数ModifyDeviceSettings()返回一个布尔值,如果应用程序返回 TRUE,DXUT框架继续像在正常情况下那样进行设备创建。如果返回FALSE,框架不能改变设备,如果已有一个设备,则继续使用当前设备。如果框架提出的请求是改变到一个应用程序不能使用的设备,应用程序可以拒绝该请求。例如,在一个多显示器配置中,默认情况下在显示器之间拖动窗口将使框架改变设备。但如果应用程序不能使用其他设备,它就必须拒绝这种改变并继续使用当前设备。
为所有的参数选择合适的设置是比较繁琐的,DXUT框架使用函数DXUTCreateDevice()简化了Direct3D设备的创建。
通常在WinMain()函数中调用DXUTInit()函数进行DXUT初始化工作,如果程序员没有调用DXUTInit()函数,则DXUT框架会自动使用默认参数调用该函数。
(1)简化窗口和设备的创建。
(2)声明设备事件(创建、重置、丢失、销毁)和窗口事件(消息、键盘、鼠标)。
(3)在窗口模式和全屏模式间切换,在硬件抽象层设备和参考设备间切换。
(4)高分辨率计时器。
(5)为自动测试提供命令行支持。
(6)通过对话框或API选择设备。
(7)纹理GUI控件组,包括IME-enable文本框。
(8)附加杂类,例如简单的摄像机类。
DXUT框架剖析系列文章(原创:天行健 君子当自强而不息)相关推荐
- DXUT框架剖析(14)
本文版权归博客园 lovedday 所有,转载请详细标明原创作者及原文出处,以示尊重! 原创作者: lovedday 原文出处:DXUT框架剖析(14) 控件是用户接口的重要组成部分,为了便于用户操 ...
- DXUT框架剖析(13)
本文版权归博客园 lovedday 所有,转载请详细标明原创作者及原文出处,以示尊重! 原创作者: lovedday 原文出处:DXUT框架剖析(13) 添加文本 DXUT框架对文本绘制进行了封装, ...
- DXUT框架剖析(11)
本文版权归博客园 原创作者: 原文出处:DXUT框架剖析(11) DXUT统计函数 函数 描述 DXUTGetFPS 获取当前每秒提交的帧数 DXUTGetFrameStats 获取一个指向字符串的 ...
- DXUT框架剖析(10)
本文版权归博客园 lovedday 所有,转载请详细标明原创作者及原文出处,以示尊重! 原创作者: lovedday 原文出处:DXUT框架剖析(10) 管理DXUT框架的函数 函数 描述 DXUT ...
- DXUT框架剖析(9)
本文版权归博客园 lovedday 所有,转载请详细标明原创作者及原文出处,以示尊重! 原创作者: lovedday 原文出处:DXUT框架剖析(9) 下面列出允许改变DXUT行为和获取内部变量的函 ...
- DXUT框架剖析(8)
本文版权归博客园 lovedday 所有,转载请详细标明原创作者及原文出处,以示尊重! 原创作者: lovedday 原文出处:DXUT框架剖析(8) DXUT框架与错误处理 Direct3D AP ...
- DXUT框架剖析(7)
本文版权归博客园 lovedday 所有,转载请详细标明原创作者及原文出处,以示尊重! 原创作者: lovedday 原文出处:DXUT框架剖析(7) (2)帧事件 框架也提供了帧事件,它在渲染过程 ...
- DXUT框架剖析(6)
本文版权归博客园 lovedday 所有,转载请详细标明原创作者及原文出处,以示尊重! 原创作者: lovedday 原文出处:DXUT框架剖析(6) 在窗口和设备创建好之后,应用程序需要使用消息循 ...
- DXUT框架剖析(5)
本文版权归博客园 lovedday 所有,转载请详细标明原创作者及原文出处,以示尊重! 原创作者: lovedday 原文出处:DXUT框架剖析(5) 修改可用的设备 应用程序可以通过DXUTSet ...
最新文章
- 国航移动门户让我出行无忧
- 数据库查询速度极慢【个人工作问题解决过程记录】
- 如何自动以管理员身份运行.NET程序?
- Linux-常用系统管理命令
- 用xshell传输jdk_在JDK 9中将InputStream传输到OutputStream
- 关于 create-react-app 自定义 eslint文件配置解决方案
- Codechef QGRID
- Atitit.vs2017 visual studio vs2003 vs2005 vs2008 VS2010 vs2012 vs2015新特性 新功能.docx Atitit. visual st
- Mac 迅雷限速问题
- VS Code报错:Java 11 or more recent is required to run. Please download and install a recent JDK
- 安装安全防护软件有助于保护计算机不受侵害,安装安全防护软件有助于保护计算机不受病毒侵害。...
- 关于正向代理,反向代理,负载均衡的个人理解
- 根据贷款还款方式(等额本金,等额本息,等本等息,先息后本),计算本息
- 3D人体姿态估评估指标
- fhq-Treap题目记录
- 强化学习入门系列一VS强化学习的基本概念
- 修改latex表格内容无衬线字体
- 如何将竖屏视频转换为横屏,横屏转为竖屏
- N圆最密堆积、最小外接正方形的matlab求解(二维、三维等圆Packing 问题)
- 【Python代码基础(符号篇2)】