D3DX

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

相关

  • 锤舌菌纲Cyttariales(英语:Cyttariales) 白粉菌目 柔膜菌目 Leotiales(英语:Leotiales) Rhytismatales(英语:Rhytismatales) Thelebolales(英语:Thelebolales) 地位未定的科地位未定的属锤舌菌纲
  • 平原印第安手语平原印第安人手语(英语:Plains Indian Sign Language,PISL;法语:Langue des Signes Indienne des Plaines;西班牙语:Lenguaje de Signos Indio de las Llanuras),又称平原手语、平原
  • 北美空防司令部坐标:38°42′00″N 104°48′00″W / 38.70000°N 104.80000°W / 38.70000; -104.80000北美空防司令部(英语:North American Aerospace Defense Command,简称NORAD)是一个由美
  • 托马斯·莫德利托马斯·B·莫德利(英语:Thomas B. Modly)是一位美国商人和政府官员,2019年11月25日,莫德利出任临时美国海军部长。2019冠状病毒病疫情期间,美国罗斯福号航母数百名官兵出现感染,罗
  • 卡真法语路易斯安那法语(法语:français de la Louisiane),是美国路易斯安那州使用的一种法语。路易斯安那州在公元1682年成为法国殖民地,是目前美国的双官方语言地区。法语是路易斯安那
  • 姆禄洞穴坐标:4°03′N 114°56′E / 4.050°N 114.933°E / 4.050; 114.933姆禄山国家公园(马来语:Taman Negara Mulu; 英语:Gunung Mulu National Park)位于马来西亚砂拉越州美里省马鲁
  • 推事庭推事法庭(马来语:Mahkamah Majistret)是马来西亚司法制度之下的最初级的刑事法庭,推事法庭可以审判所有牵渉及最高监禁10年或罚款的案件,以及刑事法典第392条文(打劫)和第457条文(夜
  • 便便表情�(Unicode:U+1F4A9,通称便便、微笑大便表情或微笑粪堆)是一个emoji,经由设备渲染后显示为“微笑着的”一堆粪便,一般用于表达不满之意。该表情位于Unicode的杂项符号及图形(英语:Misc
  • 二十世纪古典音乐二十世纪古典音乐,是指自1900年至2000年,继承欧洲古典音乐而来的一个音乐纪元,这个世纪没有一种统治性的风格,作曲家创造出各种各样的音乐。现代主义(英语:Modernism (music))、印
  • 米哈伊·爱明内斯库米哈伊·爱明内斯库(罗马尼亚语:Mihai Eminescu,1850年1月15日-1889年6月15日),罗马尼亚浪漫主义男诗人,代表作:Luceafărul(晨星),Mai am un singur dor(我有一个未完成的心愿),以及5 Scr