D3DX

✍ dations ◷ 2025-08-13 19:33:45 #DirectX,微软API

D3DX(Direct3D Extension)是一个已不推荐使用的高层API库,它旨在补充微软Direct3D图形API。D3DX库在Direct3D 7中被引入,并在之后的Direct3D 9中得到改进。它为常见的在矢量、矩阵和颜色上计算外观和投影矩阵、样条插值以及其他一些更复杂的任务(诸如编译或组合用于3D图形编程的着色器、压缩骨架动画存储和矩阵堆栈)提供了类。它还为3D网格的复杂操作提供了函数,如切线空间计算、网格简化、预计算辐射传输、顶点缓存友好性优化和条带重排序,以及3D文本网格的生成器。2D特性包括绘制屏幕空间线条、基于文本和精灵的粒子系统的类。空间函数包括各种交叉例程、转换重心坐标和边界框/球生成器。

D3DX库包含众多预先编写的例程,适用于大多数2D/3D应用程序(例如游戏)所需的常见操作。因为Direct3D API相对底层,所以使用D3DX库通常简单许多。

微软于2012年宣布,D3DX将在Windows 8 SDK以及其他开发框架(例如XNA)中不推荐使用(英语:Deprecation)。着色器效果、纹理管理、几何优化和网格模型可作为单独来源通过CodePlex发布。D3DX的数学结构,例如向量和矩阵,将与XNAMath并入DirectXMath,球面谐波数学将以单独来源提供。

D3DX库遵循COM面向对象程序设计模型。函数采用类C++接口访问。

ID3DXEffect接口用于编译和绑定FX着色器(.fx)。它支持将命名着色器参数自动映射到硬件常量寄存器、参数池,将纹理映射到可用采样器,指定“技术”和修改渲染状态。

ID3DXFont接口可以用于绘制2D文本。另见D3DXCreateText,它可以创建文本的3D网格。

ID3DXLine接口可用于绘制特定模式的抗锯齿屏幕空间线。

ID3DXMesh接口用于存储网格,和为顶点缓存友好性进行网格优化和条带化重排序。D3DX中的部分函数在此接口上操作。例如用于为正常和视差映射等效果创建切线空间框架的D3DXComputeTangentFrame。这个类的一个后代是可以进行几何简化的ID3DXPMesh。

它用于预计算辐射传输(英语:Precomputed Radiance Transfer)——一种类似球面谐波照明的技术,用于预计算的全局照明和软环境照明。

ID3DXSprite接口是一个C++类,用于绘制一个2D图像到计算机图形学中被称为精灵的屏幕。在DirectX 7中,这通常使用DirectDraw API完成,而这已不推荐使用。

程序员通常只需要调用ID3DXSprite对象的Begin()方法来设置2D绘图的渲染状态和世界变换,调用Draw()方法将纹理添加到要绘制的列表,最后调用End()方法将图像绘制到屏幕并恢复原始图形状态。

对D3DXSprite的一个常见批评是它比较缓慢,但这个问题已在Direct3D 9中得到解决。

计算用于像正常/凹凸贴图、视差映射和各向异性照明模型等效果的网格的切线空间框架。它通过重复处理解决切线空间不连续性的毛球问题。它不会处理反面的UV面,具有镜像纹理映射的模型可能会因此遇到照明问题。

相关

  • 吉安巴蒂斯塔·德拉·波尔塔吉安巴蒂斯塔·德拉·波尔塔(英语:Giambattista della Porta),(1535年-1615年),文艺复兴时期欧洲学者之一。出生于那不勒斯。由于受新柏拉图主义影响,他研究原因不明的自然现象,包括光
  • 哥特式建筑哥特式建筑(法语:Architecture gothique, 英语:Gothic architecture),或译作歌德式建筑,是一种兴盛于欧洲中世纪高峰与末期的建筑风格。它是由罗马式建筑发展而来,为文艺复兴建筑所
  • 青蒿素联合疗法抗疟药(antimalarial drug)是指用来预防或者治疗疟疾的药物。代表药物有奎宁、氯喹、青蒿素等。抗疟药如进一步按功用细分,尚可分为控制疟疾症状的抗疟药、防止疟疾复发的抗疟
  • 罗思曼詹姆斯·E·罗思曼(英语:James E. Rothman,1950年11月3日-),美国生物学家和医学家,耶鲁大学细胞生物学系系主任、Fergus F. Wallace名誉生物医学教授。他曾获得多种荣誉,包括哥伦比
  • 传染性貂脑病传染性貂脑病(英语:Transmissible mink encephalopathy,缩写为TME),传染性海绵状脑病的一种,由普利昂蛋白引起,会侵袭由人类饲养长大的貂,破坏它的中枢神经系统。目前已知只有成年的
  • 展开攻势总计289,296人( 65,001死亡、失踪或被俘,224,295人受伤 )1,269坦克和自行火炮 289飞机波罗的海 – 黑海 – 北极 – (跳马 – PQ-17船团 – 仙境)1941年巴巴罗萨 – (比亚韦
  • 哈洛格特哈罗盖特(英语:Harrogate),英国英格兰北约克郡城镇。该地为一旅游城镇,以温泉为主要特色。哈罗盖特城镇总人口71,594(2001年)。境内有哈罗盖特火车站及哈罗盖特汽车站。最近的机场
  • 莫哈维莫哈维县(英语:Mohave County)是美国亚利桑那州西北部的一个县,北、东北邻犹他州,西、西北邻内华达州,西南邻加利福尼亚州。面积34,886平方公里。根据2010年人口普查,莫哈维县共有
  • 那空那育府那空那育府(泰语:จังหวัดนครนายก,皇家转写:Changwat Nakhon Nayok,泰语发音:),一译坤西育府,是泰国中部的一个府。那空那育府是一个有九百多年历史的古老城市,在大城时
  • 多佛尔白色悬崖坐标:51°08′N 1°22′E / 51.14°N 1.37°E / 51.14; 1.37多佛尔白色悬崖(英语:White Cliffs of Dover)或译为多佛尔白崖是形成英格兰众多海岸线悬崖的一部分,相邻著多佛尔海峡