精通XNA图形与游戏程序设计
本文关键词:精通XNA图形与游戏程序设计,由笔耕文化传播整理发布。
内容概要
本书系统全面地介绍了XNA 游戏程序设计的相关内容。全书共分5部分。第一部分从安装XNA Game
Studio,创建最简单的XNA程序开始,介绍了XNA游戏程序设计的基础。第二部分从介绍网格模型文件的格式、剖析三维网格模型的层层架构开始,由浅入深、详细地介绍了XNA加载不同类型网格模型,播放模型动画的方法以及交互技术。第三部分介绍了使用XNA进行游戏程序设计的3项非图形类关键技术:声音与视频、网络、游戏数据的存储与加载。第四部分介绍了其他图形类或与图形相关的关键技术,包括粒子系统、地形、碰撞探测、后处理、广告板、环境映射、雾化、光晕等。第五部分通过将三维地形、网格模型、骨骼动画、地形匹配、第一人称取景变换、鼠标/键盘交互、粒子系统、碰撞探测、二维字体等多项技术统筹起来,实现了一个完整的山地防御战斗小游戏,通过该游戏介绍了使用XNA开发游戏的全过程。
《精通XNA图形与游戏程序设计》配套光盘提供了书中所有示例程序的可执行文件、工程文件和完整源代码,以方便读者编译、调试示例程序。
《精通XNA图形与游戏程序设计》主要面向XNA游戏程序开发人员、图形程序设计者以及可视化仿真工程技术人员,也可作为高等院校相关专业或培训机构的XNA程序设计教科书。
书籍目录
第一部分 基础篇
第1章 XNA概述与简介
第2章 二维图形与字体
第3章 三维图形基础
第4章 HLSL语言与效果
第5章 光照与材质
第6章 纹理
第二部分 XNA开发核心技术
第7章 网格模型
第8章 交互
第三部分 游戏开发核心技术
第9章 声音与视频播放
第10章 网络
第11章 游戏数据的存储与加载
第四部分 图形开发技术
第12章 粒子系统
第13章 地形
第14章 碰撞探测
第15章 后处理
第16章 其他简易实用技术
第五部分 三维开发技术
第17章 综合应用
章节摘录
版权页: 插图: 此后,微软相继发布了XNA 2.0,XNA 3.0。撰写本书时,微软刚刚发布了XNA 3.1,所以本书中的所有示例程序都是3.1版本的。 1.2 XNA的优势 看到图1-1,谁都会不由自主地想到:“XNA有可能是DirectX的继任者。”如果把DirectX的发展史和XNA的发展史结合起来看,这种感觉就会更加强烈。从DirectX9开始,微软发布Managed DirectX,可在.NET环境下开发DirectX程序,其SDK(softwane Pevelopment Kit)示例程序就是使用C#编写的。但是,Managed DirectX在发布了2.0β版之后,又返回到Managed DirectX 1.0版,直到2007年底,微软发布DirectX的时候则完全去掉了Managed DirectX。毫无疑问,微软就是计划用XNA取代ManagedDirectX,这是因为XNA比Managed DirectX和DirectX有着不可估量的优越性。 首先,XNA运行在.NET环境下。在.NET技术日趋盛行的今天,这是DirectX可望而不可及的。XNA在.NET环境下,使用C#语言进行游戏开发或仿真程序设计,不仅大大提高了程序的开发效率,同时也使得游戏开发变得更加人性化。当然,XNA运行在.NET环境下,使用它开发的游戏软件与使用DirectX开发的游戏软件相比,会有1%~2%的执行效能损失,但与DirectX的程序开发效率相比,这显然不值一提。 其次,集大成。在DirectX中,图形程序设计通过Direct3D来实现,声音效果通过DirectSound或DirectMusic来实现,对于输入设备的支持和响应需要Directlnput提供,网络编程还需要DirectPlay,把一个完整游戏项目的开发割裂成多块去看待,不免有点形而上学的味道,在实际编程过程中势必带来兼容与否、执行效能损失等问题。而XNA则将上述所有功能都集为一体,运行它,既可以进行2D或3D图形程序设计,也能添加声音效果;既提供了对所有输入设备的支持,也提供了网络编程等多种功能,区别仅仅是使用不同的动态库。 再次,使用可编程流水线。图形程序设计将逐渐从固定函数流水线转向可编程流水线,,这已是大势所趋。微软在推出Direct3D 9时,实行固定函数流水线和可编程流水线双管齐下,而从Direct3D 10开始,去掉了固定函数流水线,只保留了可编程流水线。Direct3D 10只能运行在Windows Vista操作系统下。而XNA则不然,既支持可编程流水线,又可以运行在多种操作系统下,包括Windows XP。通过可编程流水线,XNA能够对每一个顶点和像素实现“为所欲为”的操作,大大提高了图形编程的灵活度。同时,XNA还提供了BasicEffect、BasicDirectionalLight、BasicMaterialContent等类,实现了类似于固定函数流水线的编程模式,既可以为初学者降低门槛,也可以实现一些比较简单的图形渲染。 最后,通过素材管线(ContentPipeline)加载资源。这可以说是XNA与DirectX或OpenGL最明显的区别。在XNA中,对于图片、声音、模型文件或者可编程流水线渲染代码等游戏资源的加载,不再使用函数调用的方式,而是针对不同的资源,提供了专门的素材管线,所以对于简单资源的加载,只需将资源复制到指定目录下,然后从项目中添加该资源,并设置其相关属性就可以了,并且XNA往往会自动完成这些属性设置,所以大大降低了加载资源的难度。与此同时,程序员还可以继承XNA提供的素材管线类,创建自己的素材管线,实现在加载资源的同时,修改资源,从而获取自己想要得到的游戏资源。也就是说XNA从第一步加载资源开始,就留给了程序员更大的发展空间,更进一步提高了编程的灵活度。素材管线的更多内容,将在后续章节详细介绍。 除此之外,XNA还有更多留在下文以及实际编程过程中发掘和体会的优势,这里就不再赘述了。
编辑推荐
入门容易 对难点详尽解读,增加学习信心突出重点 深入介绍网络模型和交互技术实用至上 具体内容联系示例程序,精心设计
图书封面
图书标签Tags
无
评论、评分、阅读与下载
精通XNA图形与游戏程序设计 PDF格式下载
本文关键词:精通XNA图形与游戏程序设计,由笔耕文化传播整理发布。
本文编号:198527
本文链接:https://www.wllwen.com/wenshubaike/mishujinen/198527.html