摘要: 通常可以用标准的Direct3D方法CreateDevice()创建一个Direct3D设备,这个方法需要一个有效的显示适配器、设备类型(硬件抽象层设备或参考设备)、窗口句柄、运行标志(软件/硬件顶点运算模式和其他驱动标志)和提交参数。更重要的是,结构体 D3DPRESENT_PARAMETERS有许多成员指定了后台缓冲区的设置、多重采样设置、交换效果、窗口模式、深度缓冲区设置、刷新频率、提交间隔和提交标志等。
为所有的参数选择合适的设置是比较繁琐的,DXUT框架使用函数DXUTCreateDevice()简化了Direct3D设备的创建。
阅读全文
摘要: 使用DXUT框架之前,首先需要初始化DXUT,初始化DXUT可以通过函数DXUTInit()完成。
通常在WinMain()函数中调用DXUTInit()函数进行DXUT初始化工作,如果程序员没有调用DXUTInit()函数,则DXUT框架会自动使用默认参数调用该函数。
阅读全文
摘要: DXUT框架提供了下列服务,帮助程序员创建一个应用程序:
(1)简化窗口和设备的创建。
(2)声明设备事件(创建、重置、丢失、销毁)和窗口事件(消息、键盘、鼠标)。
(3)在窗口模式和全屏模式间切换,在硬件抽象层设备和参考设备间切换。
(4)高分辨率计时器。
(5)为自动测试提供命令行支持。
(6)通过对话框或API选择设备。
(7)纹理GUI控件组,包括IME-enable文本框。
(8)附加杂类,例如简单的摄像机类。
阅读全文
摘要: DXUT(也称sample framework)是建立在Direct3D API之上的Direct3D应用程序框架,有了DXUT这样一个Direct3D程序框架,只需在这个框架的基础上编写相应的代码,从而简化了windows和Direct3D API的使用,可以高效地进行Direct3D程序设计。
阅读全文
地震应该不是百害而无一益,对于受灾地区的人们来说是灾难,而对于地球来说地震是缓解地球本身的压力,释放过多
能量,保持岩石圈受力平衡的有效而唯一的途径。同时地震也会把地下的矿物带到地表。火山喷发的火山灰使土壤变得肥沃,有利于农业生产,而海底地震引起的海
啸和海风给内陆地区带来难得一遇的水汽对于缓解干旱,净化空气起到了一定的作用。
人类毕竟是渺小的,只是地球上众多生物中的一种,地球为了自身的生存和平衡,必然会牺牲一些生物的利益,而地球作为一种人类目前尚无法感知的智慧存在物,自然有自己的存在和活动方式。
生命无常,世事难料,人还是应该认真生活每一天,不要过于放纵自己。
摘要: 图形系统中为了获得当前运行程序的相关信息,往往需要在屏幕上显示文本,Direct3D的功能扩展接口ID3DXFont对此提供了方便的解决方法。
使用接口ID3DXFont绘制文本,首先需要通过函数D3DXCreateFont()创建ID3DXFont字体对象。ID3DXFont接口封装了 Windows字体和Direct3D设备指针,D3DXCreateFont()函数通过Windows字体和Direct3D设备指针创建 ID3DXFont对象。
阅读全文
摘要: 在Direct3D中,三维物体的显示是通过网格模型来实现的,显示三维物体的关键在于生成该网格模型。三维文本也不例外,显示三维文本同样需要该文本所对应的网格模型。 Direct3D为此提供了功能库函数D3DXCreateText(),通过它可以方便地创建一个包含具体文本的网格模型.
阅读全文
摘要: 图形系统中为了获得当前运行程序的相关信息,往往需要在屏幕上显示文本,Direct3D的功能扩展接口ID3DXFont对此提供了方便的解决方法。
使用接口ID3DXFont绘制文本,首先需要通过函数D3DXCreateFont()创建ID3DXFont字体对象。ID3DXFont接口封装了 Windows字体和Direct3D设备指针,D3DXCreateFont()函数通过Windows字体和Direct3D设备指针创建 ID3DXFont对象。
阅读全文
摘要: 雾化效果是计算机图形学中应用最广的效果之一,它不仅能显著地增加视觉效果的真实感,并可以提供一定的深度感。在实时图形程序,特别是游戏设计程序中,为了确保图形系统的运行速度,图形开发人员往往在位于观察点远处的场景使用较为简单的三维模型,甚至不绘制物体,而在近处使用复杂模型,这样就可能造成物体变形、突然出现或突然消失等失真现象,雾化效果可以有效地避免这种失真现象。
阅读全文
摘要: 要使用基于范围的雾化,首先需要检查当前硬件是否支持基于范围的雾化:
// check if hardware supports range fog
D3DCAPS9 caps;
g_device->GetDeviceCaps(&caps);
if(! (caps.RasterCaps & D3DPRASTERCAPS_FOGRANGE))
return false;
阅读全文