下载地址:
下载地址1资源简介:
中文名: Direct3D技术内幕原名: Inside Direct3D作者: (美)Peter J.Kovach译者: 李晔等资源格式: PDF版本: 扫描版出版社: 清华大学出版社书号: 7900635270发行时间: 2001年5月地区: 大陆语言: 简体中文简介: 内容简介: 随着MicrosoftWindows平台在游戏开发人员中的广泛接受,它的3D类库就愈来愈流行。但是,目前图书市场上很少有关于Direct3D Immediate Mode API的书籍。《Direct3D技术内幕》就为读者展示了Direct3D的真相和内幕。本书的作者是与Microsoft Direct3D开发组紧密合作的令人尊敬的开发人员。本书的组织结构合理,引导您逐步学习Direct3D API和其他DirectX组件—一让您能够对多数有趣的基于Windows游戏功能进行程序设计的工具。《Direct3D技术内幕》一步一步地带领读者开发3D游戏,因此对于有意学习这项令人激动的技术的游戏编程人员来说,是非常理想的教材。它也适合想发现将实时3D用户界面添加至基于Windows应用程序的方法的任何程序员。《Direct3D技术内幕》所涉及的主题包括: .DirectX 7基础 .通过Direct3D的T&L流水线的转换和照明 .渲染对象图元 .使用DirectInput与用户交互并控制力反馈设备 .纹理处理、雾化、alpha混合以及其他3D基本概念 .高级纹理处理和其他高级Direct 3D功能 .优化Direct3D应用程序 .集成DirectPlay 《Direct技术内幕》提供“挖掘工具”.使读者能在Windows平台上创建大多数3D游戏动画功能。从本书中您会找到有关Direct3D内幕的宝贵信息——这些都来自与Direct3D小组密切合作的本书作者。 目录: 第1章 directx基础1.1 directx api1.1.1 directdraw1.1.2 direct3d1.1.3 directmusic1.1.4 directsound1.1.5 directplay1.1.6 directinput1.1.7 directsetup1.2 direct3d作为directx api时的工作方式1.3 使用directx api所应了解的知识1.3.1 什么是com对象1.3.2 addref和release方法的用途1.3.3 c和c++调用directx方法的差别1.3.4 返回代码1.4 direct3d framework1.5 结束语第2章 direct3d程序中的windows代码2.1 windows代码的组织方法2.1.1 用于指定所包含文件和定义guid的代码2.1.2 cmyd3dapplication和cd3dapplication类2.1.3 建立主窗口和消息处理2.1.4 建立消息处理循环2.1.5 建立应用程序的窗口进程2.2 目前的程序代码2.3 结束语第3章 创建direct3d程序的directdraw3.1 directdraw和多显示器3.2 建立directdraw3.3 创建保存所列举设备的数据结构3.4 列举directdraw设备3.5 创建directdraw对象3.6 列举显示模式3.7 列举direct3d设备3.8 选择direct3d设备3.9 利用cd3dframework7对象初始化directdraw3.10 设定协作级别3.11 创建表面3.11.1 前缓冲区、后缓冲区和裁剪程序 3.11.2 全屏幕缓冲区3.11.3 窗口模式缓冲区3.12 界面的翻动3.13 目前的程序代码3.14 结束语第4章 用于directx应用程序的direct3d4.1 direct3d immediate mode的对象和接口4.1.1 directdraw对象4.1.2 directdrawsurface对象4.1.3 direct3ddevice对象4.1.4 direct3dvertexbuffer对象4.2 创建immediate mode的应用程序 4.2.1 步骤1:初始化应用程序 4.2.2 步骤2:判定directx的版本4.2.3 步骤3:列举可用的direct3d设备4.2.4 步骤4:选择direct3d设备4.2.5 步骤5:获取idirectdraw7接口4.2.6 步骤6:从idirectdraw7获取idirect3d7接口并创建direct3d设备4.2.7 步骤7:创建深度缓冲区4.3 目前的程序代码4.4 结束语第5章 direct3d顶点及转换和照明流水线5.1 t&l流水线概述5.1.1 世界转换5.1.2 视图转换5.1.3 照明5.1.4 投影转换和观察平截面5.1.5 裁剪5.1.6 除以w或非均匀5.1.7 视口缩放5.2 顶点5.2.1 灵活的顶点格式5.2.2 左手和右手坐标系5.2.3 跨距顶点格式5.2.4 顶点缓冲区5.3 建立t&l流水线矩阵5.3.1 世界矩阵5.3.2 观察矩阵5.3.3 投影矩阵5.4 视口5.4.1 创建视口5.4.2 建立视口5.4.3 清理视口5.5 照明5.5.1 环境光5.5.2 直射光5.5.3 光的颜色与材料颜色5.5.4 光的类型5.5.5 光的属性5.5.6 设置光的属性5.5.7 检索光的属性5.5.8 启用和禁用照明引擎5.5.9 启用和禁用某种光5.6 目前的程序代码5.7 结束语第6章 渲染3d图元6.1 beginscene和endscene方法6.2 索引和无索引图元6.3 drawprimitive方法6.3.1 drawprimitive6.3.2 drawprimitivestrided6.3.3 drawprimitivevb6.3.4 drawindexedprimitive6.3.5 drawindexedprimitivestrided6.3.6 drawindexedprimitivevb6.4 图元的类型6.4.1 点列表6.4.2 线列表6.4.3 线条6.4.4 三角形列表6.4.5 三角条形6.4.6 三角扇形6.5 设置渲染状态6.5.1 alpha混合状态6.5.2 alpha测试状态6.5.3 环境光状态6.5.4 消除锯齿状态6.5.5 裁剪状态6.5.6 颜色键控状态6.5.7 清除状态6.5.8 深度缓冲状态6.5.9 填充状态6.5.10 雾化状态6.5.11 照明状态6.5.12 轮廓状态6.5.13 单顶点颜色状态6.5.14 阴影状态6.5.15 模板缓冲状态6.5.16 纹理透视状态6.5.17 纹理包装状态6.5.18 顶点颜色照明状态6.5.19 z偏差状态6.6 内插值:gouraud阴影和扩散照明6.7 创建3d应用程序 6.7.1 调用模型6.7.2 设备初始化6.7.3 处理每帧的活动性6.7.4 渲染帧6.8 目前的程序代码6.9 结束语第7章 键盘和游戏杆输入7.1 创建directinput对象7.2 获取键盘、鼠标或游戏杆7.3 力反馈7.3.1 创建力7.3.2 创建directinput力7.4 结束语第8章 纹理8.1 纹理坐标8.2 创建纹理表面8.3 纹理管理8.4 纹理压缩8.4.1 dxt格式8.4.2 使用dxt表面8.5 多纹理映射8.5.1 创建多纹理映射纹理8.5.2 访问多纹理映射级别8.5.3 设置多纹理映射lod偏移量 8.6 纹理过滤8.6.1 最近点取样8.6.2 线性纹理过滤8.6.3 各向异性的纹理过滤8.6.4 多纹理映射纹理过滤8.7 纹理接口指针8.8 纹理阶段8.9 纹理混合8.9.1 多遍纹理混合8.9.2 单遍多纹理混合8.9.3 凸起花纹映射8.10 纹理寻址模式8.10.1 边框颜色纹理寻址模式8.10.2 夹持纹理寻址模式8.10.3 镜像纹理寻址模式8.10.4 包装纹理寻址模式8.11 纹理包装处理8.12 目前的程序代码8.13 结束语第9章 雾化处理9.1 雾化处理公式9.2 创建雾化效果9.3 像素雾化9.4 目前的程序代码9.5 结束语第10章 alpha混合处理10.1 利用帧缓冲区混合10.2 特殊效果10.2.1 有雾环境中的发射对象10.2.2 镜头眩光10.2.3 照明图10.2.4 有色玻璃10.3 alpha测试10.4 颜色键控透明性10.5 alpha可用的调色板化纹理10.6 利用alpha的纹理阶段10.7 遗留混合模式和纹理阶段10.8 alpha自左乘与非自左乘10.9 目前的程序代码10 10 结束语第11章 熙明映射和环境映射11.1 照明映射11.1.1 多遍纹理混合的照明映射11.1.2 纹理阶段照明映射11.2 环境映射11.2.1 球形环境映射图11.2.2 立方体环境映射图11.3 目前的程序代码11.4 结束语第12章 模板缓冲区12.1 创建模板缓冲区12.2 清除模板缓冲区12.3 配置模板处理状态12.4 创建效果12.4.1 合成效果12.4.2 贴图效果12.4.3 消融12.4.4 淡入淡出效果12.4.5 轮廓线效果12.4.6 侧影效果12.4.7 滑入效果12.4.8 阴影效果12.5 ShadowVol1和ShadowVol2演示程序12.6 目前的程序代码12.7 结束语第13章 加载3D模型并为之添加动画效果13.1 动画角色13.1.1 分段式角色13.1.2 单网格角色13.2 加载和控制RoadRage模型13.3 目前的程序代码13.4 结束语第14章 Direct3D应用程序的优化14.1 Direct3D Framework14.2 保存纹理内存14.2.1 AGP内存14.2.2 纹理映射图贴图14.3 增强3D效果14.3.1 多重纹理处理14.3.2 三重缓冲14.3.3 真彩色渲染14.4 优化几何图形处理14.4.1 ComputeSphereVisibility14.4.2 顶点缓冲区14.4.3 批量处理DrawPrimitive调用14.4.4 浮点精度及多线程SetCooperativeLevel标志14.4.5 防护带裁剪14.4.6 纹理类型提示14.5 资源最小化14.5.1 高成本状态的变化14.5.2 多边形14.5.3 纹理变化14.5.4 纹理内存14.5.5 可见方格14.6 结束语第15章 集成DirectPlay15.1 DirectPlay概念15.2 启动15.3 Multiplayer Connect对话框15.4 Multiplayer Games对话框15.5 DirectPlay消息15.5.1 向游戏者传送游戏消息15.5.2 结束游戏15.6 目前的程序代码15.7 结束语第16章 结束语16.1 游戏16.2 模拟程序和虚拟实现16.3 一路顺风, 尽情陶醉吧!
飞网下载站,免费下载共享资料,内容涉及教育资源、专业资料、IT资源、娱乐生活、经济管理、办公文书、游戏资料等。