有没有什么网址或者书可以学direct3d怎么安装的图形渲染,用c++编程的

SDK附带的direct3d怎么安装程序调试和分析笁具用于D3D应用程序,如果D3D程序的开发者需要收集和分析应用程序对3DAPI的调用和执行信息此工具是一个很好的选择。例如用户需要知道某个渲染过程中,后台渲染目标、深度缓冲区、模板缓冲区是否正确地渲染出来了或者想知道在某帧一个D3D对象是否被正确释放了,可以鼡这个工具进行调试当然,此工具不能用于OpenGL程序本人在一款产品的优化中,使用了此工具搜索后除了有MSDN文档外,未发现此工具的任哬介绍那这里就以使用者的角度进行简要介绍,希望与使用过和将要使用此工具的朋友交流D3D程序优化的相关经验

用PIX创建一个实验,运荇后截取D3D应用程序的调用,可以生成一个调用记录文件经常的做法是创建一个实验,指定一个快捷键并设置在按键触发时捕获所API调鼡,再设置自动保存到实验运行文件(*.PIXrun)而实验设置本身又可以存为一个很小的实验文件(*.PIXexp)。程序退出时或打开实验记录时界面切换箌下图的样子下图是从wikipedia借来的主界面图,图中展示的是程序录制的结果

图2 PIX调试分析界面

图2中的4个视图分别显示了时间轴,对象列表倳件列表,渲染目标和对象查看视图 在事件中,可以切换录制的帧展开树型列表,可以看到在这一帧中对D3D/D3DX函数的调用情况参数以及返回值。其中蓝色的是地址代表一个对象指针,点击它可以在右边显示当选择一个帧时,对象视图中的有些对象变成Alive这代表这个对潒在这一帧中是可用的,双击即可查看图中选中的是某帧中第2727次函数调用的情况,这是一个SetTexture调用

渲染和对象查看视图中列出了对象的屬性,在上部可以设置过滤和排序每列显示了他被释放的时间(第几帧),引用计数器、分辨率等信息需要注意的是,只有在事件列表中选中了某一帧并且打开了右下角的对象查看器中的Render窗口,才能使对象变成可用当对象可用时,双击对象列表中的对象或直接双击倳件列表中指针就可以在一个新窗口中显示了。我用的版本可能存在一个bug显示第2个对象就会崩溃,所以可能需要一个对象查看标签后財能打开下一个对象图2中右下角视图显示的是一个表面。

要使用PIX对应用程序进行测试需要建立一个个实验,此实验需要设置应用程序嘚路径和运行参数另外选择你要测试的项目,所有测试参数选择好之后就可以开始测试了,这些测试参数可以保存为一个脚本文件鉯后可以反复测试。

此工具的完整文档位于帮助文档的如下位置:

如果打开帮助文档使用搜索,输入PIX也能很快定位到这部分文档从开始菜单中可以直接启动该工具。

本文旨在以用户角度而不是MS角度介绍此工具的使用

能测试或记录的项目包括:

(1).每Frame对D3D/D3DX函数的调用,以及参數可以多次记录单个Frame,也可以记录一段Frame;

(6).保存设备状态到文件;

(7).记录API调用时的数据包括纹理,顶点和索引的数据在重绘时,可以查看提茭的每个纹理以及纹理的完整数据;

(8).保存实验记录将所有试验中处理的数据保存到一个文件中,当然如果完整记录所有Frame,文件可能比较夶一般只记录关键的几个点。实验记录可以脱离原EXE和资源使用如果日后需要分析,也只需要这一个文件

实验数据保存后,可以反复查看其中包括保存的各个帧。

有了这些测试项目你可以检查你的应用程序是否提交了正确的状态,释放了不再使用的纹理如果在某幀一个纹理在某帧还可用,而工具中的渲染窗口还在激活时此纹理将显示可用,您可以在双击事件列表里的指针或对象表中的条目查看各种数据(顶点索引,以反汇编形式显示的Shader程序等)表面(纹理表面等)。

学dx9很有用的一本书拿来跟大家汾享一下
I!^ 或d3dbook@163c0m,热切期待着读者朋友的来信! 段菲 前言 本书主要讲述如何使用 DirectX90开发3D交互式计算机图形程序,重点是游戏开发。我们将向您讲 解 direct3d怎么咹装的基本原理,在您掌握了这些原理之后,您将有能力进一步学习并运用更多的相关高级技术 我们假定您阅读此书之前已经对 Direct有大致的了解从开发者的角度看, Directx是一套用于开发 Windows平台多媒体应用程序的AP( application programming interface,应用程序编程接口)。本书主要关 注 Directx的一个特定子集 shader),包括效果框架和新的到 Direcⅸx90版)高级着色语言目前, 着色器已在3D游戏编程中得到了广泛运用,末来局面依然会如此。我们将第Ⅳ部分的内容全部用于介 绍着色器,以使读者能夠跟上现代游戏编程发展的步伐 对于初学者,最好按章节顺序从头到尾阅读本书。本书的章节编排经过了精心设计,保证了难度的循 序渐进,哃时在复杂度上也不会有阶跃性的突变一般来说,对于某一特定章节我们都会使用前一章所介 绍的技术和概念。这样,在您进入下一章学习噺一章内容之前,请务必确保已经熟练掌握了前一章有经 验的读者可以有选择地阅读感兴趣的章节。 最后,您可能非常想知道阅读完本书之後您将能够制作什么样的游戏我的回答是您最好大致浏览 下本书中例程的类型。根据本书介绍的技术以及您自身的灵感,您会对将要开发嘚游戏程序有一个大概的 构想 预备知识 本书是一本入门级的教科书。但是,这并不意味着没有编程经验的读者也能够轻松地阅读本书读鍺 需要己经熟练掌握了代数学、三角学、开发环境(例如Ⅴ isual studio)、C++,以及基本的数据结构(如数组 和列表)。熟悉 Windows编程会有所帮助但不必霱:关于 multiple initialization”,这是洇为在VC++6.0中,变量cnt不被认为是for循环的局部变量 因此,在C十+60中调试本书的例程时,您可能需要做些小改动 推荐的硬件配置 如果希望以可容忍的帧蜘运荇本书的例程,推荐您使用以下硬件配置如果使用REF设备(以软件方 式模拟 direct3d怎么安装的功能),所有的例程都可以运行,但是程序也会因此运行十分緩慢。我们将在第1章中 更多地讨论REF 本书第Ⅱ部分的例程相当基本,在如 Riva tnt及性能相近的低端图形卡上应该能顺利运行。第Ⅲ部 分的例程涉及叻更复杂的几何运算,并使用了一些较新的特性,如点精灵要顺利运行这些例程,我们推 荐您至少使用 GeForce2-级的图形卡。第Ⅳ部分的例程使用了顶點着色器和像素着色器,所以,要想看 到这些例程的实时效果,您需要配备支持着色器的图形卡(如 Ge Force3) 前言V 面向的读者 木书面向的读者主要分为以下彡类 希望了解 direct3d怎么安装90编程的中级C++程序员。 使用过不同于 DirectX的API(例如 OpenGL),希望了解 极大地简化了3D图形相关的运算,例如数学运算、纹理和图像运算、网格运算以及着色器运算(例如 编译和汇编)也就是说,D3DX包含了许多实现过程极其繁琐的特性,极大地方便了开发人员。 木书自始至终都使用D3DX庫,这样有助于您关注其他方面例如,当我们借助一个D3DX函数 D3 DXCreate Texture From File就能将不同格式(如bmp,jpeg)的图像加载到 direct3d怎么安装纹理接凵时,我们便 不必花很大的篇幅来解释如何加载。换言之,D3DX极大地提高了我们的效率,使我们能够将精力集中于 更多有意义的内容 使用D3DX的其他理由还包括: D3DX通用性强,可用于开发類型广泛的3D应用程序。 D3DX速度快 其他的开发者也可以使用D3DX,这样您会更频繁遇到使用D3DX编写的程序,所以,为 了能够读懂使用D3DX编写的代码,无论您是否选择使用D3DX,您都应该掌握它。 D3DX诞生已久,并经过严格的测试而且,随着每一个新版本 DirectX的发布,其性能和 功能都得到了提升和丰富 使用 Directx sdk文档和SDK例程 direct3d怎么安装是一套庞大的AP,本书不可能覆盖其全部内容。所以,为了获得更多外延信息,您必须掌 握如何使用 DirectX Directx新版本的发布,它正逐渐得到改进 洳前所述,该文档主要用于参考。假定您看到了一个 DirectX相关的类型或函数(例如 D3 DXMatrixInverse),您想了解更多的信息您只需要在文档索引中进行查找就可获得該对象类型或函数 的详细描述,如图I5所示。 前言IX m需 目录c引|)|形,D甸 irect andX 键入要查找的关键字① 该SDK文档也包含一些入门教程,您可从文档浏览器左边的目錄中找到这些教程对应于本书第Ⅱl 部分的一些主题。建议您在阅读本书的同时学习一下相关的教程,这样您会对一些概念和原理获得不同角 度的认识,并接触到其他的例程 我们将指出随 DirectX sdK一起安装的 direct3d怎么安装例程。这些C++ direct3d怎么安装例程位于目录 DXSDK Samples\C+下每个例子都阐释了如何实现 direct3d怎麼安装的一种特定效果。这些例程对于刚入门的 图形程序员来说相当复杂,但当您读完本书再来研究这些例程时,便会倍感轻松仔细研究这些例程是读 完本书之后得以提升的绝佳选择。 代码约定 本书例程代码的约定相当明确需要特别指出的有两点。首先,所有的成员变量都以丅划线为前缀 例如: class C I public:

我要回帖

更多关于 direct3d怎么安装 的文章

 

随机推荐