D3DX

✍ dations ◷ 2025-10-05 15:38:14 #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面,具有镜像纹理映射的模型可能会因此遇到照明问题。

相关

  • 同塔省同塔省(越南语:Tỉnh Đồng Tháp/.mw-parser-output .han-nom{font-family:"Nom Na Tong","Han-Nom Gothic","Han-Nom Ming","HAN NOM A","HAN NOM B","Ming-Lt-HKSCS-UNI-H"
  • 分子生物学史分子生物学的历史开始于1930年代,统合了当时多种的和各不相同的学科,包括生物化学、遗传学、微生物学、病毒学、与物理学。希望从更基本的层次来理解生命现象,许多的化学家与物
  • 530–579Template:Developmental tooth disease Template:Acquired tooth disease Template:Dentofacial anomalies and jaw disease Template:Oral pathology
  • 卡尔洪县卡尔霍恩县 (Calhoun County, Georgia)是美国乔治亚州西南部的一个县。面积734平方公里。根据美国2000年人口普查估计,共有人口6,320人。县治摩根 (Morgan)。成立于1854年2月
  • 沃尔夫拉姆·冯·埃申巴赫沃尔夫拉姆·冯·埃申巴赫(德语:Wolfram von Eschenbach,1170年-1220年),是一位德国骑士,同时也是诗人。他被视为是中世纪最杰出的史诗作家之一。沃尔夫拉姆·冯·埃申巴赫的生平鲜
  • 连州连州市是中华人民共和国广东省下辖的县级市,由清远市代管。位于广东省的西北部,北江支流连江的上游。北面与靠湖南省交界。现辖10个镇、2个民族乡,全市总面积2663平方公里。连
  • 佛舞龙佛舞龙属(属名:Shanag)是驰龙科恐龙的一属,生存于白垩纪早期的蒙古。模式种是奥希佛舞龙(S. ashile),是在2007年由艾伦·特纳(Alan H. Turner)、马克·诺瑞尔(Mark Norell)等人叙述、命
  • 独立新闻《独立新闻》(韩语:독립신문,英语:The Independent)是一份朝鲜王朝末年发行的报纸,是朝鲜半岛最早的民营韩文近代报纸。该报于1896年由朝鲜著名独立运动提倡者徐载弼创建。其发行
  • U型谷冰川谷(又称U形谷、冰川槽谷)是冰川侵蚀作用形成的谷地。它的山谷陡峭,谷底平缓,横剖面呈抛物线形,类似字母U。当冰川顺着倾斜的山坡向下移动,山谷就会被冲刷、侵蚀。等到冰川融化
  • 安德烈·弗雷德里克·考南德安德烈·弗雷德里克·考南德(法语:André Frédéric Cournand,1895年9月24日-1988年2月19日),法国医生和生理学家。他与沃纳·福斯曼和迪金森·伍德拉夫·理查兹因发明心脏导管术